カーネル IP 転送とは何ですか? 関連する質問

カーネル IP 転送とは何ですか? 関連する質問

この質問は、以下の回答とコメントに関連しています。カーネル IP 転送とは何ですか?

@LawrenceCより

投稿1:

したがって、上記の例では、NIC 2 にインターネット接続がある場合、NIC 2 をデフォルト ルートとして設定し、NIC 1 から着信するトラフィックのうち、192.168.2.0/24 宛てではないものはすべて NIC 2 を通過することになります。

また、投稿2:

インターネットに面したインターフェース(上記のNIC 1)では、チェーン上のiptablesのPOSTROUTINGにMASQUERADEルールが必要です。 revsys.com/writings/quicktips/nat.html

http://www.revsys.com/writings/quicktips/nat.htmlそれはこう言います:

次に、内部ネットワークの /dev/eth1 から外部ネットワークの /dev/eth0 にパケットを転送するように iptables を設定する必要があります。

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

私がFORWARD投稿2)転送がすでに設定されている場合はip_forward投稿1):

echo 1 > /proc/sys/net/ipv4/ip_forward

答え1

設定ip_forwardによりパケット転送が可能一般的に一部の Linux ディストリビューションでは、エラーによって設定されたiptables場合など、セキュリティ上の理由から転送されたパケットを許可しない場合があります。ip_forward

/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

すでに確立された接続への応答または同様の関連パケットであるeth0からのパケットを許可するルールを設定します。eth1

/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

eth1からへのパケットを許可する明示的なルールを設定しますeth0

これにより、デフォルトの構成に関係なく、クライアントはeth1背後のサーバーにアクセスできるようになります。eth0iptables

関連情報