Linux でのルーティングとフィルタリング

Linux でのルーティングとフィルタリング

eth0 と eth1 という 2 つのインターフェイスを持つ VM があります。eth0 から入ってくるパケットを処理し、どのルールにも一致しない場合はドロップするようにします。ルールに一致する場合は、変更せずに eth1 に転送します。つまり、転送されるパケットの送信元と宛先の IP は、eth0 に入ったときと同じである必要があります。このプロセスすべてに iptables を使用することを考えていましたが、パケットを変更せずに転送する部分は不可能だと思い始めています。誰かこれを確認できますか?

答え1

有効にするルーティングLinuxの場合:

IPv4

/proc/sys/net/ipv4/conf/all/forwarding

IPv6

echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

これをグローバルにではなく、ネットワーク アダプタごとに構成することもできます (allネットワーク アダプタの名前に置き換えます)。この変更は再起動すると保持されないことに注意してください。起動時にこれらを適用するには、 で構成します/etc/sysctl.conf

また、次のことにも注意する必要がありますrp_filterパラメータ(リバースパスフィルタリング)。

FORWARDIP 転送を有効にすると、iptables (および ip6tables)チェーンにルールを追加して、転送されたパケットをフィルタリングできます。

関連情報