我有一个如下所示的网络:
+--------------+
| Linux Router |
+--------------+
10.0.1.100/24 | 10.0.0.100/24
|
Host A (10.0.1.101/24) ----+--- Host B (10.0.0.3/24)
有 1 个注意事项:Linux 路由器只有 1 个物理以太网端口,分配了 2 个 IP 地址。我需要能够ping 10.0.0.3
从主机 A 和ping 10.0.1.101
主机 B 进行连接,但我做不到。为什么?
[root@Host_A ~]# ping -c1 10.0.0.3
PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data.
From 10.0.1.100: icmp_seq=1 Redirect Host(New nexthop: 10.0.0.3)
然后就是目标主机无法访问。我的 Linux 路由器的配置如下:
猫/ proc / sys / net / ipv4 / ip_forward:
1
IP 链接:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether d0:5f:b8:fc:fc:ef brd ff:ff:ff:ff:ff:ff
IP地址:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether d0:5f:b8:fc:fc:ef brd ff:ff:ff:ff:ff:ff
inet 10.0.0.100/24 brd 10.0.0.255 scope global eth0
inet 10.0.1.100/24 brd 10.0.1.255 scope global eth0
inet6 fe80::d25f:b8ff:fefc:fcef/64 scope link
valid_lft forever preferred_lft forever
路线-n:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
答案1
您需要禁用路由器发送重定向:
sudo sysctl -w ipv4.conf.eth0.send_redirects = 0
您需要编辑 /etc/sysctl.conf 并添加以下行以在启动时应用配置。
ipv4.conf.eth0.send_redirects = 0
但是您的配置既不理想也不安全。您应该使用路由器并将网络分成 2 个 VLAN。您需要一个支持 VLAN 的交换机。
另一个解决方案是使用更大的前缀(例如,用 10.0.0.0/23 替换 10.0.0.100/24 和 10.0.1.0/24)