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

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

eth0とeth1という2つのインターフェースを持つ仮想マシンがあります。 eth0から来るパケットを処理し、ルールと一致しない場合は削除したいと思います。ルールと一致する場合は、変更なしでeth1に渡されることを望みます。つまり、転送されるパケットの送信元IPと送信先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範囲(リバースパスフィルタリング)。

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

おすすめ記事