正解は/etc/network/if-pre-up.d
iptables-restoreコマンドをうまいこと駆使してやってください
まあ後はiptablesのメモ
最初に決めるルールINPUTは入ってくパケットOUTPUTは出て行くパケット
FORWARDは転送するパケット
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
全てのルールをクリア
iptables -F
すべてのユーザー定義もクリア
iptables -X
パケットカウンタもクリアしたいなら
iptables -Z
iptables -A INPUT -p tcp --dport 4000:4999 -s ! 192.168.0.0/24 -j DROP
↑の例だと192.168.0.0/24以外のネットワークから来たパケットで4000から4999ポートを指定
しているものを削除
※注意 --dportは-p tcpが指定されていない場合は使えない(udpでも良いけど)
現在のルールを表示
iptables -L
最終的にはこんな感じで
#!/bin/bash
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
#iptables -A INPUT -p tcp --dport 4000:4999 -s ! 192.168.0.0/24 -j DROP
#iptables -A INPUT -p tcp --dport 4000:4999 -j DROP
iptables -A INPUT -p tcp --dport 4000:4999 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 4000:4999 -s 192.168.0.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 4000:4999 -s ! 192.168.0.2 -j DROP
iptables -L