2 つの NIC を持つマシンをセットアップしました。1 つはプライベート ネットワーク用、もう 1 つは実際の IP が割り当てられたパブリック ネットワーク用です。
DEVICE=eth0
HWADDR=XXX
TYPE=Ethernet
UUID=XXX
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=172.26.111.131
NETMASK=255.255.255.128
GATEWAY=172.26.111.129
パブリック ネットワークの eth1 の構成は次のとおりです。
DEVICE=eth1
HWADDR=XXX
TYPE=Ethernet
UUID=XXX
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=PUBLIC_IP
NETMASK=255.255.255.248
GATEWAY=PUBLIC_GATEWAY
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default PUBLIC_GATEWAY 0.0.0.0 UG 0 0 0 eth1
PUBLIC_NID * 255.255.255.248 U 0 0 0 eth1
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1004 0 0 eth1
172.26.111.128 * 255.255.255.128 U 0 0 0 eth0
これはかなり簡単に実現できると思います。これについて調べてみましたが、どうもうまくいきませんでした。マシンは依然としてパブリック ゲートウェイ経由でプライベート IP をルーティングしようとします。
これについて何かアイデアがあれば教えていただければ幸いです。どこが間違っているのでしょうか?
私は eth0 経由で 172.26.111.128/25 にアクセスできるようにしようとしています。
答え1
私のセットアップ
eth0 にエイリアスを設定して、実際に 2 つの IP アドレス (192.168.1.6 と 192.168.1.254) を持つようにしました。
私はローカルで次のようなことを行います:
ifconfig eth1:0 192.168.1.254
route add -host 192.168.1.254 dev eth1:0
これにより、次のようなルーティング テーブルが作成されます。
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.254 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
ISP_NETWORK 0.0.0.0 255.255.240.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 ISP_GATEWAY 0.0.0.0 UG 0 0 0 eth0
これにより、次のようなルートが提供されます。
192.168.1.254 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
参考文献
答え2
まあ、それは私たちのせいです。私は実際には存在しないホストに ping しようとしていたので、ネットワークが適切にルーティングされていないかのように思っていました。皆さんのメッセージと助言に感謝します!