Iptables: Belirli bir porttan sadece bir ipin girmesine nasıl izin verilir?


Yanıtlar:


48

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

Bunu OUTPUT'a da eklemem gerekip gerekmediğini biliyor musunuz?
— Anonim12345

@ Camran: Daha spesifik olmanız gerekir. Bu özel durumda, değiştirmek eğer INPUTile OUTPUTsize 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.
— Cristian Ciupitu

1
Unutmayın, kaynaklarınızı aşağıdaki gibi bir zincirde de belirtebilirsiniz:--src 1.2.3.4/30
— deed02392

Daha sonra zincire izin verilen yeni bir IP'yi nasıl eklerim? Önce DROP'u çıkarmam, sonra yeni kullanıcıyı girip DROP'u tekrar takmam gerekir mi yoksa daha iyi bir çözüm var mı?
— maddo7

2
@Matthias:iptables -I xxx --src 7.8.9.10 -j ACCEPT
— Cristian Ciupitu

0

İş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

centos'ta, bu yapılandırmayı kalıcı kılacak yer neresi? (ubuntu'da, /etc/network/if-up.d/anyfile dosyasını kullanabiliriz)
— Kokizzu

CentOS üzerinde öyle: service iptables save.
— Martin Zeitler

0

IP tablosunu yapılandırmak için shorewall kullanıyorum. Bir ana bilgisayardan 123 numaralı bağlantı noktasına kabul etmek gibi bir kural kullanın.

KABUL NET: 192.0.2.1 $ FW tcp 1234

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.