IPTABLES içeren bir dizi IP'ye nasıl izin verilir?


29

İşte iptables'larım, ETH1 (10.51.xx) 'te bir dizi ipin kullanımına izin vermek için nasıl yapabilirim?

# Generated by iptables-save v1.4.4 on Thu Jul  8 13:00:14 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:fail2ban-ssh - [0:0]
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh 
-A INPUT -i lo -j ACCEPT 
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 
-A INPUT -j REJECT --reject-with icmp-port-unreachable 
-A FORWARD -j REJECT --reject-with icmp-port-unreachable 
-A OUTPUT -j ACCEPT 
-A fail2ban-ssh -j RETURN 
COMMIT

Yanıtlar:


39

Yalnızca 10.50.0.0 (10.50.10.20 - 10.50.10.80 arası) dahilinde belirli bir IP adresi aralığına izin vermek istiyorsanız, aşağıdaki komutu kullanabilirsiniz:

iptables -A INPUT -i eth1 -m iprange --src-range 10.50.10.20-10.50.10.80 -j ACCEPT

Tüm aralığa izin vermek istiyorsanız, bunun yerine bunu kullanabilirsiniz:

iptables -A INPUT -i eth1 -s 10.50.0.0/16 -j ACCEPT

Bkz iptables man sayfasını ve ServerFault burada bu soruyu: Beyaz Listesi (giriş / çıkış) IP'leri izin iptables kullanarak


Bu çizgiyi nereye koyacağım?
Mike Curry,

Komut satırından çalıştıracağınız komutlar şunlardır: [root @ host ~] # iptables -Bir GİRİŞ -i eth1 -s 10.50.0.0/16 -j ACCEPT
runlevelsix

1
"10.50.10.20-10.50.10.80" kullanın, "-80" istediğiniz şeyi yapmayabilir .
temel6

@ runlevelsix 10.255.255.255 ile 10.0.0.0 gibi bir ip aralığına izin vermek istesem, 10.0.0.0/24 kullanır mıydım?
RoboBear

@MikeCurry, bu komut satırında neyin çalıştırılacağını belirtir - terminalinizden. Alternatif olarak, bu kuralı /etc/iptables/rulesets.d (Debian Linux kullanıyorsanız) içindeki iptables kural dosyasına "iptables" komutunu kaldırarak ve şu satırdan boşluk bırakarak ekleyebilirsiniz: -A INPUT -i eth1 - m iprange - src-aralığı 10.50.10.20-10.50.10.80 - j KABUL.
RoboBear

3

Belirli bir liman için 22:

iptables -A INPUT -p tcp  -m iprange --src-range  10.50.10.20-10.50.10.80  --dport 22  -j ACCEPT

1

Iyi ki ama CIDR içinde 10.51.xx çevirir için olanlar IP'leri izin vermek istedikleri testere yaptım 10.50.0.0/16. Bu yüzden sahip olduğu geridöngü arayüzü için hat gibi bir şey olacak 127.0.0.0/8.


1
iptables -A INPUT -i eth1 -m iprange --src-range 10.50.10.20-80 -j ACCEPT

Aşağıdaki hatayı verebilir:

iptables: Applying firewall rules: xt_iprange: range 10.50.10.20-80 is reversed and will never match

Bunu düzeltmek için sadece bunun yerine tam ip yazın:

iptables -A INPUT -i eth1 -m iprange --src-range 10.50.10.20-10.50.10.80 -j ACCEPT

Ref .: http://blog.capitar.com/iptables-ip-range-reversed/

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.