В одном из наших дата-центров есть машина Debian, выполняющая роль маршрутизатора. Из этой сети мы не можем получить доступ ни к одной из машин, обнаруженных в сети 192.168.100.0/24. Например, шлюз в сети 192.168.100.0/24 - 192.168.100.10. Этот шлюз недоступен из этой сети 192.168.200.0/24.
Конфигурация сети следующая
/ и т.д. / сеть / интерфейсы
auto lo eth0 eth1
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 77.xx.xx.xx
netmask 255.255.255.240
gateway 77.xx.xx.xx
# The internal network interface
iface eth1 inet static
address 192.168.200.20
netmask 255.255.255.0
iface eth1.100 inet static
address 192.168.100.1
netmask 255.255.255.0
iface tun0 inet static
address 10.254.254.1
netmask 255.255.255.252
pointopoint 10.254.254.2
В ifconfig
показывает следующее
eth0 Link encap:Ethernet HWaddr 00:13:21:ae:d7:23
inet addr:77.xx.xx.xx Bcast:77.xx.xx.xx Mask:255.255.255.240
inet6 addr: fe80::213:21ff:feae:d723/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:136897619 errors:7 dropped:0 overruns:0 frame:56
TX packets:35219565 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:106904749360 (99.5 GiB) TX bytes:4700046351 (4.3 GiB)
Interrupt:25
eth1 Link encap:Ethernet HWaddr 00:13:21:ae:d7:22
inet addr:192.168.200.20 Bcast:192.168.200.255 Mask:255.255.255.0
inet6 addr: fe80::213:21ff:feae:d722/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25456278 errors:0 dropped:0 overruns:0 frame:0
TX packets:51273676 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2910299307 (2.7 GiB) TX bytes:71434605655 (66.5 GiB)
Interrupt:26
eth1.100 Link encap:Ethernet HWaddr 00:13:21:ae:d7:22
inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::213:21ff:feae:d722/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:1350 (1.3 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8057 errors:0 dropped:0 overruns:0 frame:0
TX packets:8057 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:678439 (662.5 KiB) TX bytes:678439 (662.5 KiB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.200.200 P-t-P:192.168.0.201 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1486 Metric:1
RX packets:16438 errors:0 dropped:0 overruns:0 frame:0
TX packets:31312 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1281863 (1.2 MiB) TX bytes:14955384 (14.2 MiB)
Я попытался добавить один из следующих маршрутов вручную, но безуспешно.
route add -net 192.168.100.0 netmask 255.255.255.0 dev eth1
route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.200.20 dev eth1
ip route add 192.168.100.0/24 via 192.168.200.20 dev eth1
Маршрут добавляется, но мало что делает. Сеть 192.168.100.0/24 остается недоступной.
какой ip route show и маршрут -n показывает
root@dc-dc:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.201 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
77.xx.xx.xx 0.0.0.0 255.255.255.240 U 0 0 0 eth0
192.168.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 77.xx.xx.xx 0.0.0.0 UG 0 0 0 eth0
root@dc-dc:~# ip route show
192.168.0.201 dev ppp0 proto kernel scope link src 192.168.200.200
77.xx.xx.xx/28 dev eth0 proto kernel scope link src 77.xx.xx.xx
192.168.200.0/24 dev eth1 proto kernel scope link src 192.168.200.20
default via 77.xx.xx.xx dev eth0
Переадресация портов включена
root@dc-dc:~# cat /proc/sys/net/ipv4/ip_forward
1
Вывод iptables
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- eth0 * 220.xx.xx.2 0.0.0.0/0
57 2964 ACCEPT tcp -- eth0 * 194.xx.xx.0/24 0.0.0.0/0 tcp dpt:22
108K 6495K ACCEPT tcp -- eth0 * 194.xx.xx.0/24 0.0.0.0/0 tcp dpt:1723
52M 71G ACCEPT all -- eth0 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
14M 724M ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0
4407 427K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
26M 38G ACCEPT all -- ppp0 * 0.0.0.0/0 0.0.0.0/0
415 19592 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
249 11776 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
5 180 ACCEPT icmp -- eth0 * 0.0.0.0/0 0.0.0.0/0 icmp type 0
14351 1193K ACCEPT icmp -- eth0 * 0.0.0.0/0 0.0.0.0/0 icmp type 8
14092 845K ACCEPT all -- eth0 * 194.xx.xx.0/24 0.0.0.0/0
0 0 ACCEPT all -- * * 0.0.0.0/0 224.0.0.0/8
0 0 ACCEPT 112 -- * * 0.0.0.0/0 0.0.0.0/0
16173 1376K DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
6 616 ACCEPT all -- eth1 eth1 0.0.0.0/0 0.0.0.0/0
21M 31G ACCEPT all -- ppp0 * 0.0.0.0/0 0.0.0.0/0
10M 1573M ACCEPT all -- * ppp0 0.0.0.0/0 0.0.0.0/0
138K 20M ACCEPT all -- * eth0 0.0.0.0/0 0.0.0.0/0
146K 202M ACCEPT all -- eth0 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT udp -- * * 89.xx.xx.xx 127.0.0.1 udp spt:53
0 0 ACCEPT udp -- * * 83.xx.xx.xx 127.0.0.1 udp spt:53
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
43M 41G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT 112 -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
root@dc-dc:~# iptables -t nat -L -v
Chain PREROUTING (policy ACCEPT 121K packets, 12M bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 1715 packets, 112K bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- any any 10.254.254.0/24 anywhere
0 0 MASQUERADE all -- any ppp0 anywhere anywhere
0 0 SNAT all -- any eth0 anywhere 212.159.203.234 to:194.50.96.11
58671 3659K MASQUERADE all -- any eth0 anywhere anywhere
Chain OUTPUT (policy ACCEPT 28351 packets, 1945K bytes)
pkts bytes target prot opt in out source destination
Есть идеи, что я могу попробовать? заранее спасибо
Похоже, интерфейс "eth1.100" был создан с помощью vconfig или подобного. Это означает, что интерфейс будет действовать так, как если бы он был помечен для VLAN 100, и к любым пакетам, которые передаются от него, будет добавлен тег 802.1Q VLAN. Я подозреваю, что это потому, что имя интерфейса - «eth1.100», а не «eth1: 100».
На самом деле вы, вероятно, хотели просто множественной адресации. Сначала избавьтесь от интерфейса «eth1.100» с помощью команды «vconfig rem eth1.100», затем добавьте 192.168.100.1 к eth1, просто выполнив команду «ifconfig eth1 add 192.168.100.1».
Надеюсь, это решит вашу проблему.
есть подключение к другим сетям, значит сам роутер рабочий?
Вы уверены, что маршрут для ответа задан правильно? Если вы устанавливаете шлюз только для одного направления, этого недостаточно, вы также должны убедиться, что маршрут в противоположном направлении работает.
например:
у вас есть сервер A, подключенный к маршрутизатору A, а затем подключенный к серверу B. Предположим, что оба сервера имеют шлюз по умолчанию, который является не маршрутизатором A, а каким-то другим маршрутизатором. Теперь, если вы скажете серверу A, что его маршрут к серверу B проходит через маршрутизатор A, этого будет недостаточно. Вам также необходимо сообщить серверу B, что его маршрутизатор к серверу A проходит через маршрутизатор A. В противном случае пакеты с сервера A могут прибыть на сервер B, но сервер B не знает, как ответить, или использует неправильный маршрутизатор для ответа.