ローカル ネットワークとインターネット間の接続を確立しようとしています。まず、eth0 (LAN) と eth1 (インターネット) の間にブリッジ (br0、他のインターフェイスにはない IP アドレスを持つ) を設定し、LAN 内のローカル IP のソース IP をマスカレードする NAT ルールを iptables に作成しました。すべてうまく機能し、サブネット 192.168.1.0 からインターネットにアクセスできます。
今、2 つの VLAN 100 と 200 を作成したいと考えています。vconfig を使用して eth0.100 と eth0.200 を作成しようとしましたが、インターネットに接続する方法がわかりません。ローカル LAN からのパケットは、VLAN ID 100/200 のタグが付けられて到着し、トラフィックは eth1 に渡されます。しかし、パケットを正しい eth0.x に戻すにはどうすればよいのでしょうか。
VLAN 100 用と 200 用の 2 つのブリッジを作成し、それらを eth1 に接続することを考えました。しかし、インターネットから受信したパケットを適切なブリッジに到達するようにルーティングするにはどうすればよいでしょうか?
現在の設定:
eth0 <--> br0 <--> eth1
提案:
1.
eth0.100 <--> br100 <--> eth1
eth0.200 <--> br200 <--> eth1
2.
eth0.100 および eth0.200 <--> br0 <--> eth1
答え1
LAN から WAN にトラフィックをルーティングする必要があります。
これはブリッジではなくルーターによって実行されるため、次のようになります。
eth0 (192.168.1.0/24) <==> eth1 (パブリックインターネット)
VLAN 100 および 200 の場合、トラフィックを正しい VLAN にルーティングするにはどうすればよいでしょうか。VLAN ごとに異なるサブネットを作成することで、ホストはどの VLAN が正しい出力インターフェイスであるかを認識するため、次のようになります。
eth0.100 (192.168.100.0/24) <==> eth1 (パブリックインターネット)
eth0.200 (192.168.200.0/24) <==> eth1 (パブリックインターネット)
どちらの場合も NAT を覚えておいてください。
iptables -I POSTROUTING -t nat -o eth1 -j マスカレード