.png)
2台のサーバーがあり、どちらもスイッチ0(VLANなし)で接続されています。サーバー1には2つのNICがあります。
eth0 --> switch0
ppp0 --> modem --> internet
cat /proc/sys/net/ipv4/ip_forward 1
192.168.1.0/24
192.168.1.212 netmask 255.255.255.0
ルート:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
10.10.10.0 10.10.10.1 255.255.255.0 UG 0 0 0 tun0
10.10.10.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
151.7.202.72 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.16.212.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.116.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
server2 は次のとおりです。
192.168.1.0/24
192.168.1.252 netmask 255.255.255.0 --> switch0
3 つの LAN、3 つの NIC の場合:
192.168.1.0/24 netmask 255.255.255.0 --> switch0
192.168.2.0/24 netmask 255.255.255.0 --> switch1
193.168.3.0/24 netmask 255.255.255.0 --> switch2
ルート:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.1.212 UGS 0 168553 bge0
10.10.10.0/24 10.10.10.1 UGS 0 0 tun0
10.10.10.1 link#12 UH 0 0 tun0
10.10.10.2 link#12 UHS 0 0 lo0
127.0.0.1 link#10 UH 0 1897 lo0
192.168.1.0/24 link#1 U 0 42375 bge0
192.168.1.252 link#1 UHS 0 4 lo0
192.168.2.0/24 link#7 U 0 117807 rl0
192.168.2.252 link#7 UHS 0 0 lo0
192.168.3.0/24 link#8 U 0 161828 rl1
192.168.3.252 link#8 UHS 0 0 lo0
192.168.1.0/24 から他のすべての LAN へのルーティングを作成する必要があります。
server2 で IP エイリアシングを使用する必要がありますか?
答え1
実はとても簡単です。
サーバー2: ファイル/etc/sysctl.confを(sudoとして)編集し、次の行を見つけます。
#net.ipv4.ip_forward=1
コメントを外して、
net.ipv4.ip_forward=1
ファイルを保存し、次のコマンドを発行します。
sudo sysctl -p
これは単に、カーネルに対して、パケットが 1 つの NIC から別の NIC に渡されることを許可するように指示するだけです。
また、戻りパケットが server2 経由で正しくルーティングされるように、NAT を設定する必要があります。以下を発行します。
sudo iptables -t nat -A POSTROUTING -o rl0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o rl1 -j MASQUERADE
これは、デフォルトの iptables ポリシーがすべて ACCEPT であることを前提としています。これが正しくない場合は、ファイアウォールにさらにいくつかの穴を開ける必要があります。
次に、サーバー 1 に移動します。次のコマンドを発行します。
sudo route add -net 192.168.2.0/24 default gw 192.168.1.252
sudo route add -net 192.168.3.0/24 default gw 192.168.1.252
これら 2 つのコマンドは、192.168.2.0/24 または 192.168.3.0/24 宛てのパケットが見つかった場合、そのパケットを server2 にルーティングして処理するように server1 に指示するだけです。
192.168.2.0/24または192.168.3.0/24のクライアントがserver2経由で192.168.1.0にアクセスできるようにするかどうかを指定していません。指定する場合は、
sudo iptables -t nat -A POSTROUTING -o bge0 -j MASQUERADE
ファイアウォールに。
最後に、サブネット192.168.2.0/24と192.168.3.0/24がない別のルートで Server1 に接続します。これは、構成内に閉じたループが存在することを意味し、これを適切に処理するには高度な機器が必要になるためです。