Iptables は、あらゆる形式のすべての IP または範囲を受け入れます。

Iptables は、あらゆる形式のすべての IP または範囲を受け入れます。

6月30日のアップデートips.txtのリストがあり、iptablesがすべてのフォーマットのすべてのIPまたは範囲を受け入れるようにしたいと思います。例:

# IPs List
199.59.243.120
157.60.1.0/24
91.190.0.0/16
192.168.2.1-192.168.2.25

私のルール:

for ip in $(sed '/#.*/d' ips.txt); do
   if echo $ip | grep -q "-" >/dev/null; then
     iptables -w -A FORWARD -i eth1 -p tcp --dport 80 -m iprange --dst-range "$ip" -j ACCEPT
   else
     iptables -w -A FORWARD -i eth1 -p tcp --dport 80 -d $ip -j ACCEPT
   fi
done

iptablesはip 199.59.243.120と範囲192.168.2.1-192.168.2.25を受け入れますが、iptablesが157.60.1.0/24または91.190.0.0/16の範囲を許可する方法は何ですか? ? ?

ありがとう

答え1

iptables -dCIDR表記のネットワークが許可されているため、指定された検索範囲を使用するように変更してgrepコマンド-を置き換えたり、grep結果を無効にしたりできます。

答え2

157.60.1.0/24 は -d 157.60.1.0/24 -j Accept などの他の条件にあります。エラーに示されているように、最初の条件--dst-rangeには適合しません。したがって、コマンドはecho $ ip l grep -q "-"です。

関連情報