Ubuntu sunucumda, Iptables'da sadece bir IP adresinin belirli bir portta izin vermesini nasıl sağlayabilirim?
Teşekkürler
Ubuntu sunucumda, Iptables'da sadece bir IP adresinin belirli bir portta izin vermesini nasıl sağlayabilirim?
Teşekkürler
Yanıtlar:
Bir astar:
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
Daha şık bir çözüm:
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
ile OUTPUT
size bazı paketler sunucusunun kendisi (ve / iletilen yönlendirilirler değil) bazı adresleri kullanılarak gönderilen engelleyecektir. Bazı belirli arayüzlere bağlanan programları engellemek istemiyorsanız, bunun mantıklı olduğundan şüpheliyim.
--src 1.2.3.4/30
iptables -I xxx --src 7.8.9.10 -j ACCEPT
İşte CentOS sistemlerimden birinden bir örnek (adres gizlenmiş):
-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
.