2 つの Linux を接続するルーターとして Linux があるトポロジがあり、iptables を使用して一方向の ssh と HTTP をフィルターしたいと考えています。以下のコードを使用しましたが、機能しませんでした。ご協力いただければ幸いです。
iptables -A FORWARD -i ens33 -o ens38 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i ens38 -o ens33 -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -i ens38 -o ens33 -p tcp --dport 80 -j DROP
答え1
あなたのスクリプトは http で動作するはずですが、あまり良くありません。私は次のようなスクリプトを使用します:
IPTABLE=/sbin/iptables
$IPTABLE -P INPUT ACCEPT
$IPTABLE -P FORWARD DROP
$IPTABLE -P OUTPUT ACCEPT
$IPTABLE -F
$IPTABLE -X
$IPTABLE -F -t nat
$IPTABLE -X -t nat
$IPTABLE -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
#http
$IPTABLE -A FORWARD -i ens33 -o ens38 -p tcp --dport 80 -j ACCEPT
#https
$IPTABLE -A FORWARD -i ens33 -o ens38 -p tcp --dport 443 -j ACCEPT
# ssh
$IPTABLE -A FORWARD -i ens33 -o ens38 -p tcp --dport 22 -j ACCEPT
# icmp
$IPTABLE -A FORWARD -p icmp -j ACCEPT
ルールが機能したら、 を実行することをお勧めしますiptables-save > /etc/iptables/rules.v4
。iptables-persistent
パケットを使用すると、起動時にルールがロードされます。iptables
ルールに加えて、
- ゲートウェイで IP 転送が有効になっています。
- 内部ホスト上の外部ネットワークへのルート
- 外部ホスト上の内部ネットワークへのルート