A rota deve usar 172.23.10.38 (o ip do roteador) como o gateway. Para testar o uso:
route add -host 192.168.1.96 gw 172.23.10.38
A entrada do arquivo route-eth0: 0 seria:
192.168.1.96/32 via 172.23.10.38
Atualmente, tenho uma máquina conectada a uma LAN e à Internet funcionando bem.
Agora tenho uma conexão dedicada com um escritório remoto e preciso criar uma rota da minha máquina para especificamente uma máquina no novo escritório, mas ela deve passar pela linha dedicada (não pela Internet).
Minha máquina tem CentOS release 5.6
.
Aqui está um diagrama de minha configuração atual (ainda não posso postar fotos aqui)
Basicamente, de "MyServer" usando eth0 para a Internet, funciona. eth0 tem a seguinte configuração.
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 $
e agora tenho que criar um alias em eth0 e encaminhar para "servidor TARGET". Então, o que eu fiz foi criar um arquivo chamado eth0: 0 com o seguinte:
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 $
Com isso sozinho, agora posso pingar 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 $
Mas meu objetivo é chegar a 192.168.1.96 e chegar lá com uma fonte Endereço IP de 172.23.10.37
Então eu adicionei a seguinte rota
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 $
ou com 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 $
Na lista de rotas, parece estar definido.
%código%
e um 192.168.1.96 dev eth0 scope link src 172.23.10.37
mostra o que para mim parece que
na verdade, está tentando sair sobre 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 $
mas, como você pode ver, o host está inacessível. As pessoas que administram o servidor remoto me garantiram que sua máquina responde a pings, e do meu lado, O iptables por enquanto é parado apenas para ter certeza de que não há variáveis externas. Além disso, o serviço de firewall no roteador / firewall entre nós está parado por enquanto.
Então basicamente eu tenho 2 perguntas.
1) o que estou fazendo errado?
2) uma vez que eu funcione, como altero o comando traceroute 192.168.1.96
temporário para uma rota persistente? Eu estava lendo que a maneira mais limpa de fazer isso é adicionar um arquivo chamado route add -host 192.168.1.96 eth0:0
com a seguinte linha
/etc/sysconfig/network-scripts/route-eth0:0
isso está correto?
Espero ter fornecido informações suficientes para depurar isso. obrigado, -gk
Sua abordagem mais limpa seria adicionar a entrada correta em route-eth0:0
in /etc.sysconfig/network-scripts
e, em seguida, executar service network restart
. Isso usará a interface eth0: 0 especificada para essa rota.
Sugiro que você tente fazer um traceroute para o servidor e do servidor para a sua máquina. Isso pode descartar o fato de que há um roteador separando as duas redes e que está permitindo o tráfego entre as máquinas.
Tags routing centos static-routes