iptablesの設定

iptablesの設定

iptablesを設定しようとしていますが、転送ルールは正しく機能しますが、出力ルールに問題があります。

ファイアウォールの背後にあるホストからインターネットにアクセスできず、ファイアウォールサーバーでwww.google.comをpingすることもできません。ホストはwww.google.comに対してpingを実行できず、ipに対してもpingは機能しません。

入力、出力、および転送の基本的な操作は削除です。

ポート80,443,53(tcpとudp)とOutlookを開きました。

私の出力ルールは次のとおりです。

iptables -P OUTPUT DROP

# Output
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT


# DNS
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT

答え1

ここでFORWARDチェーンでは、いくつかの発信トラフィックを許可します。返すことはできませんが、LANシステムのFORWARDチェーンとルーターのINPUTチェーンでこの動作を許可するには、conntrackシステムを使用する必要があります。

また、ICMPを許可していないため、pingが失敗しました。
もう一つ:FORWARDチェーンにインターフェースを割り当てましょう。そうしないと、ポートが公開されるか、外部コンピュータでそのコンピュータをゲートウェイとして使用できます。

それでは、ルールを書き直してみましょう(eth1をLANインターフェイスに置き換えます)。

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# Forward - WAN to LAN
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Forward - LAN to WAN
iptables -A FORWARD -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -p icmp -j ACCEPT

# Input
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Output
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

編集する:コメントで提案されているようにeth1を指定してください。

関連情報