如何在私有网络上为 Debian 系统添加网关

如何在私有网络上为 Debian 系统添加网关

我的 Debian 系统的 IP 地址为 192.168.111.111,我想配置一个不在 192.168.111.0 网络上的默认网关。首先,我想添加一条路由,以便我可以从系统到达网关。因此,我运行此命令(我以为它将启用到单个主机的静态路由),但我仍然无法 ping 通网关:

# ip route add 5.6.71.166 dev eth0
# ping 5.6.71.166
PING 5.6.71.166 (5.6.71.166) 56(84) bytes of data.
^C
--- 5.6.71.166 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3023ms

这是我的配置:

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
5.6.71.166      0.0.0.0         255.255.255.255 UH        0 0          0 eth0
192.168.111.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr ca:eb:7c:e6:7e:98  
          inet addr:192.168.111.111  Bcast:192.168.111.255  Mask:255.255.255.0
          inet6 addr: fe80::c8eb:7cff:fee6:7e98/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45 errors:0 dropped:0 overruns:0 frame:0
          TX packets:291 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:52454 (51.2 KiB)  TX bytes:39433 (38.5 KiB)
          Interrupt:23 

# cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The internal network interface
allow-hotplug eth0
iface eth0 inet static
address   192.168.111.111
netmask   255.255.255.0
network   192.168.111.0
broadcast 192.168.111.255

# cat /proc/sys/net/ipv4/ip_forward 
1

我已经验证,如果我使用其网络中的 IP 地址,网关将响应 ping,但不幸的是,这不是一个选项,因为系统不能在该范围内拥有真实的(不在 192.168.xx 中的)IP 地址。

答案1

您的默认网关是否知道返回机器的路径?

虽然你们两个(5.6.71.166 和 192.168.111.111)共享一个公共的第 2 层(“以太网”),但两者都必须知道如何互相访问。通常,它们共享一个公共的第 3 层(“ip 子网”),但在这种情况下,网关必须有一条通往 192.168.111.111(/24?至少 /32)的路由,通往连接到公共第 2 层的设备。

您有 gw 的管理权限吗?

答案2

我假设 5.6.71.166 位于不同的以太网域上。为了与不同以太网域上的主机通信,主机必须使用网关才能到达那里。您添加的路由指定 5.6.71.166 可直接访问,这就是它失败的原因。您需要提供适当的网关来使用。假设 192.168.111.1 是本地网络上的网关:

ip route add 5.6.71.166 via 192.168.111.1

如果 5.6.7.166 网关位于同一个以太网域中,则它要么不知道如何将数据包路由回您的计算机,要么数据包在某处被过滤。网关要么需要本地网络上 192.168.111.0/24 的路由,要么您需要为您的计算机添加一个位于网关本地子网中的 IP 地址。

设置完成后,检查 ARP 是否在两台机器上运行:

arp -n | grep 5.6.71.166

您应该会看到列出的 HWaddress。在网关上针对您的机器的 IP 执行相同操作。如果仍然不起作用,请检查防火墙并可能检查反向路径过滤。

答案3

您能向 eth0 iterface 添加另一个 IP 地址吗?

ifconfig eth0:1 5.6.71.167 netmask x.x.x.x up

然后

route add default gw 5.6.71.166

你觉得可以吗?

相关内容