В настоящее время у меня есть машина, подключенная к локальной сети, и Интернет работает нормально. Теперь у меня есть выделенное соединение с удаленным офисом, и я должен создать маршрут от моей машины к 1 машине в новом офисе, но он должен проходить по выделенной линии (не через Интернет). Моя машина имеет CentOS release 5.6
.
Вот схема моя текущая установка (я пока не могу публиковать фото)
В основном с "MyServer" с использованием eth0 в Интернет работает. eth0 имеет следующий конфиг.
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 и направить его на «TARGET server». Итак, я создал файл с именем 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 $
Только с этим я теперь могу пинговать 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 $
но, как видите, хост недоступен. Люди, которые администрируют удаленный сервер, гарантировали мне, что их машина действительно отвечает на эхо-запросы, и, с моей стороны, iptables на время остановлен, просто чтобы убедиться, что нет внешних переменных. Кроме того, служба межсетевого экрана на маршрутизаторе / межсетевом экране между нами временно остановлена.
Итак, в основном у меня есть 2 вопроса. 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
это верно?
Надеюсь, я предоставил достаточно информации для отладки. спасибо -gk
Маршрут должен использовать 172.23.10.38 (IP-адрес маршрутизатора) в качестве шлюза. Для тестирования использования:
маршрут добавить -host 192.168.1.96 gw 172.23.10.38
Запись файла route-eth0: 0 будет следующей:
192.168.1.96/32 через 172.23.10.38
Я предлагаю вам попробовать выполнить трассировку до сервера и от сервера до вашей машины. Это могло бы отбросить тот факт, что существует маршрутизатор, разделяющий две сети и разрешающий трафик между машинами.
Ваш самый чистый подход - добавить правильную запись в route-eth0:0
в /etc.sysconfig/network-scripts
, затем запустите service network restart
. Это будет использовать указанный интерфейс eth0: 0 для этого маршрута.