- ADSL路由器:Cisco 877(172.16.0.254)
- PC1(172.16.0.10)到路由器1号端口
- PC2(172.16.0.20)到路由器2号口
- 服务器,2 个网卡,eth0 到路由器的 port0。(172.16.0.240)
上述设置一切正常。
现在,服务器的 eth1 连接到千兆交换机。服务器上的 DHCP3 正在 eth1 上处理请求,使用此配置
subnet 172.16.0.0 netmask 255.255.255.0 {
range 172.16.0.151 172.16.0.199;
option domain-name-servers 194.30.220.117,194.30.220.114;
option domain-name "XXXXXXXXXXXXXXX";
option routers 172.16.0.1;
option broadcast-address 172.16.0.255;
default-lease-time 600;
max-lease-time 7200;
}
和 /etc/network/interfaces
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 172.16.0.240
netmask 255.255.255.0
auto eth0
allow-hotplug eth1
iface eth1 inet static
address 172.16.0.1
netmask 255.255.255.0
up route add -host 255.255.255.255 eth1
auto eth1
客户端获取 IP,但无法访问路由器的其他端口(PC1 和 PC2)或服务器本身(无论是 172.16.0.1 还是 172.16.0.240)。此外,他们无法访问互联网。
我已启用 ipv4 转发echo "1" > /proc/sys/net/ipv4/ip_forward
还route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
255.255.255.255 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
有想法吗?
谢谢
答案1
你遇到的问题是,你试图使用路由,但你没有路由。路由意味着在不同的网络。您有两个位于同一网络上的接口。您需要的是:
- 要从服务器的 eth1 创建第二个网络并让其后面的客户端在该网络上运行,默认路由到 eth1 接口 IP,最终路由到互联网。这需要您确保所有设备都知道如何到达服务器的每一侧。
- 在端口 eth0 和 eth1 之间创建桥接以太网。说实话,我以前没有这样做过,所以我不太愿意推荐它,但我的理解是,你会将一个 IP 分配给一组端口,并且这些端口将充当第 2 层交换机。