lxcコンテナ<->外部インターネット、私は何を見逃していますか?

lxcコンテナ<->外部インターネット、私は何を見逃していますか?

マイコンピュータ(enp0s10)の物理ネットワークにイーサネットが接続され、lxcコンテナを収集するlxcbr0イーサネットブリッジがあります。 lxcコンテナを提供したいです。

だから私はこう書いています:

IFACE=enp0s10
echo "allow inet for lxc"
iptables -t nat -A POSTROUTING -o $IFACE -j MASQUERADE
iptables -A FORWARD -i $IFACE -o lxcbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i lxcbr0 -o $IFACE -j ACCEPT

echo "allow web for lxc"
iptables -A PREROUTING -t nat -i $IFACE -p tcp --dport 19980 -j DNAT --to 172.20.0.5:80
iptables -A INPUT -p tcp -m state --state NEW --dport 19980 -i $IFACE -j ACCEPT

最初のルールセットはlxcコンテナ内のインターネットを構成し、2番目のルールセットはURLを使用している場合はlxcコンテナ内のWebサーバーに接続できます。http://マシンIP:19980「すべてがうまくいきます。しかし、より安全にしてルールを終了したいのです。

iptables -N logdrop
iptables -A logdrop -m limit --limit 5/m --limit-burst 10 -j LOG
iptables -A logdrop -j DROP

iptables -A INPUT -p tcp -m state --state NEW -j logdrop
iptables -A INPUT -j logdrop
iptables -A FORWARD -j logdrop

だから私は明確な方法で文書化し、私が許可しないすべてを削除します。次にログを入力します。

IN=enp0s10 OUT=lxcbr0 MAC=xxx SRC=192.168.1.1 DST=172.20.0.5 LEN=60 TOS=0x00 PREC=0x00 TTL=62 ID=57331 DF PROTO=TCP SPT=58432 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 

したがって、 enp0s10 から lxcbr0 への途中で特定のエントリとパケットを停止することはできません。しかし、正確に何が欠けていて、何を修正する必要がありますか?

ベストアンサー1

ここで見つける:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Security_Guide/s1-firewall-ipt-fwd.html

FORWARDチェーンにデフォルトのDROPポリシーがある場合は、宛先NATルーティングを達成するために着信HTTP要求を転送できるようにするルールを追加する必要があります。これを行うには、次のコマンドを実行します。

iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 172.31.0.23 -j ACCEPT

おすすめ記事