我目前有一台机器连接到局域网和互联网工作正常。 我现在有了一个到远程办公室的专用连接,并且必须创build从我的机器到新办公室的一台机器的path,但是它必须通过专用线路(不通过互联网)。 我的机器有CentOS release 5.6
。
这里是我目前的设置图 (我不能在这里发布图片)
基本上从使用eth0到Internet的“MyServer”起作用。 eth0具有以下configuration。
root@MyServer:/etc/sysconfig/network-scripts $ more ifcfg-eth0 # Intel Corporation 82578DC Gigabit Network Connection DEVICE=eth0 BOOTPROTO=none HWADDR=71:72:bd:ae:1f:49 ONBOOT=yes DHCP_HOSTNAME=MyServer.local IPADDR=192.168.3.11 NETMASK=255.255.255.0 GATEWAY=192.168.3.1 TYPE=Ethernet root@MyServer:/etc/sysconfig/network-scripts $
现在我必须在eth0上创build一个别名,并将其路由到“TARGET server”。 所以我所做的就是创build一个名为eth0:0的文件,内容如下:
root@MyServer:/etc/sysconfig/network-scripts $ more ifcfg-eth0:0 # Intel Corporation 82578DC Gigabit Network Connection DEVICE=eth0:0 BOOTPROTO=none HWADDR=71:72:bd:ae:1f:49 ONBOOT=yes DHCP_HOSTNAME=MyServer.local IPADDR=172.23.10.37 NETMASK=255.255.255.252 TYPE=Ethernet root@MyServer:/etc/sysconfig/network-scripts $
有了这个,我现在可以ping 172.23.10.38
root@MyServer:/etc/sysconfig/network-scripts $ ping 172.23.10.38 PING 172.23.10.38 (172.23.10.38) 56(84) bytes of data. 64 bytes from 172.23.10.38: icmp_seq=1 ttl=255 time=6.30 ms 64 bytes from 172.23.10.38: icmp_seq=2 ttl=255 time=2.07 ms 64 bytes from 172.23.10.38: icmp_seq=3 ttl=255 time=3.13 ms --- 172.23.10.38 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 2.071/3.839/6.309/1.801 ms root@MyServer:/etc/sysconfig/network-scripts $
但我的目标是要达到192.168.1.96,并到达那里与源IP地址172.23.10.37
所以我加了下面的路线
root@MyServer:/etc/sysconfig/network-scripts $ route add -host 192.168.1.96 eth0:0 root@MyServer:/etc/sysconfig/network-scripts $ ip route list 192.168.1.96 dev eth0 scope link src 172.23.10.37 172.23.10.36/30 dev eth0 proto kernel scope link src 172.23.10.37 192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.11 169.254.0.0/16 dev eth0 scope link default via 192.168.3.1 dev eth0 root@MyServer:/etc/sysconfig/network-scripts $
或者用netstat -rn
root@MyServer:/etc/sysconfig/network-scripts $ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.96 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 172.23.10.36 0.0.0.0 255.255.255.252 U 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 192.168.3.1 0.0.0.0 UG 0 0 0 eth0 root@MyServer:/etc/sysconfig/network-scripts $
从路由列表中,似乎已经设置。 192.168.1.96 dev eth0 scope link src 172.23.10.37
和traceroute 192.168.1.96
显示了我似乎是真的试图走出eth0:0
root@MyServer:/etc/sysconfig/network-scripts $ traceroute 192.168.1.96 traceroute to 192.168.1.96 (192.168.1.96), 30 hops max, 40 byte packets 1 172.23.10.37 (172.23.10.37) 3001.699 ms !H 3001.698 ms !H 3001.693 ms !H root@MyServer:/etc/sysconfig/network-scripts $
但正如你所看到的主机是无法访问的。 pipe理远程服务器的人向我保证,他们的机器确实会响应ping,而在我这边,iptables暂时停止,以确保没有外部variables。 此外,我们之间的路由器/防火墙上的防火墙服务暂时停止。
所以基本上我有两个问题。 1)我做错了什么? 2)一旦我得到它的工作,如何将临时route add -host 192.168.1.96 eth0:0
命令更改为持久路由? 我正在阅读的最干净的方法是添加一个名为/etc/sysconfig/network-scripts/route-eth0:0
,内容如下
192.168.1.96 via 172.23.10.37 dev eth0:0
这是正确的吗?
希望我已经提供了足够的信息来debugging这个。 谢谢,-gk
路由应该使用172.23.10.38(路由器ip)作为网关。 要testing使用:
路由添加主机192.168.1.96 gw 172.23.10.38
route-eth0:0文件入口是:
192.168.1.96/32通过172.23.10.38
最/etc.sysconfig/network-scripts
方法是在/etc.sysconfig/network-scripts
中的route-eth0:0
中添加正确的条目,然后运行service network restart
。 那将为该路由使用指定的eth0:0接口。
我build议你尝试做一个traceroute到服务器,从服务器到你的机器。 这可能会丢弃这样一个事实,即有一个路由器将两个networking隔开,并且允许机器之间的通信。