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転送を有効にした後、FORWARD
iptables(およびip6tables)チェーンにルールを追加して転送されたパケットをフィルタリングできます。