Bagaimana saya bisa di server ubuntu saya, di Iptables hanya membolehkan satu alamat IP pada port tertentu?
Terima kasih
Bagaimana saya bisa di server ubuntu saya, di Iptables hanya membolehkan satu alamat IP pada port tertentu?
Terima kasih
Jawaban:
Satu liner:
iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 777 -j DROP # if it's not 1.2.3.4, drop it
Solusi yang lebih elegan:
iptables -N xxx # create a new chain
iptables -A xxx --src 1.2.3.4 -j ACCEPT # allow 1.2.3.4
iptables -A xxx --src 1.2.3.5 -j ACCEPT # allow 1.2.3.5
iptables -A xxx --src 1.2.3.6 -j ACCEPT # allow 1.2.3.6
iptables -A xxx -j DROP # drop everyone else
iptables -I INPUT -m tcp -p tcp --dport 777 -j xxx # use chain xxx for packets coming to TCP port 777
INPUT
dengan OUTPUT
Anda akan memblokir beberapa paket yang dikirim menggunakan beberapa alamat server itu sendiri (dan tidak dialihkan / diteruskan). Saya ragu ini masuk akal, kecuali mungkin Anda ingin memblokir program yang mengikat beberapa antarmuka tertentu.
--src 1.2.3.4/30
iptables -I xxx --src 7.8.9.10 -j ACCEPT
Berikut adalah contoh dari salah satu sistem CentOS saya (alamat telah dikaburkan):
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 -d 5.6.7.8 --dport 22 -j ACCEPT
service iptables save
.