LINUX.ORG.RU
ФорумAdmin

Проблема с маршрутизацией


0

0

Имеется локальная сеть (172.20.1.0), имеется шлюз1 (172.20.1.44,172.16.35.2)имеется шлюз2 на который мой шлюз1 должен направлять пакеты(172.16.35.1). Пытаюсь пинговать с компа 172.20.1.3 на
172.16.35.1 на сетевой карте с адресом 172.16.35.2 пакеты не появляются.
ifconfig:
eth0 Link encap:Ethernet HWaddr 00:C0:DF:13:D8:6D
inet addr:172.20.1.44 Bcast:172.20.1.255 Mask:255.255.255.0
inet6 addr: fe80::2c0:dfff:fe13:d86d/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18266 errors:0 dropped:0 overruns:0 frame:0
TX packets:3398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3119084 (2.9 Mb) TX bytes:514075 (502.0 Kb)
Interrupt:10 Base address:0x4000

eth2 Link encap:Ethernet HWaddr 00:1C:F0:0C:06:AD
inet addr:172.16.35.2 Bcast:172.16.35.255 Mask:255.255.255.0
inet6 addr: fe80::21c:f0ff:fe0c:6ad/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:189 errors:0 dropped:0 overruns:0 frame:0
TX packets:769 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16508 (16.1 Kb) TX bytes:120159 (117.3 Kb)
Interrupt:11 Base address:0xc400

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:940 errors:0 dropped:0 overruns:0 frame:0
TX packets:940 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:173416 (169.3 Kb) TX bytes:173416 (169.3 Kb)
netstat -r:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
172.16.35.0 * 255.255.255.0 U 0 0 0 eth2
172.20.1.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 172.16.35.1 0.0.0.0 UG 0 0 0 eth2

В чём проблема?

anonymous

openSuse 10.3

anonymous
()

Может быть, форвардинг запрещён:
echo "1" >/proc/sys/net/ipv4/ip_forward

Может быть, транзитные пакеты запрещены:
iptables -I FORWARD 1 -j ACCEPT

Может быть, на получателе ICMP-пакеты запрещены...

Ну и само понятие "роутинг" - двунаправленное. То есть не только отправитель должен знать, куда пакеты слать, но и получатель должен знать, куда отвечать.

Если не полегчает после подсказок - дай ip route show со всех трёх машин (пингующий, роутер, пингуемый). iptables -L тоже желательно со всех трёх посмотреть...

Slavaz ★★★★★
()
Ответ на: комментарий от anonymous

После iptables -I FORWARD 1 -j ACCEPT
на внешней сетевухе стали появляться запросы, но ответы на неё не приходят. Я имею доступ только к шлюзу. Насчёт пингующего компа не понимаю, зачем его конфиг, его пинги до меня доходят.

Шлюз(172.20.1.44,172.16.35.2):
dimlinux:/home/dim # iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
input_ext all -- anywhere anywhere
input_dmz all -- anywhere anywhere
input_ext all -- anywhere anywhere
LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-IN-ILL-TARGET '
DROP all -- anywhere anywhere

Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-FWD-ILL-ROUTING '

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-OUT-ERROR '

anonymous
()
Ответ на: комментарий от anonymous

Chain forward_dmz (0 references) target prot opt source destination

Chain forward_ext (0 references) target prot opt source destination

Chain input_dmz (1 references) target prot opt source destination ACCEPT udp -- anywhere anywhere PKTTYPE = broadcast udp dpt:137 ACCEPT udp -- anywhere anywhere PKTTYPE = broadcast udp dpt:138 DROP all -- anywhere anywhere PKTTYPE = broadcast ACCEPT icmp -- anywhere anywhere icmp source-quench ACCEPT icmp -- anywhere anywhere icmp echo-request LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp dpt:3128 flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-INdmz-ACC-TCP ' ACCEPT tcp -- anywhere anywhere tcp dpt:3128 LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp dpt:445 flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-INdmz-ACC-TCP ' ACCEPT tcp -- anywhere anywhere tcp dpt:445 LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp dpt:139 flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-INdmz-ACC-TCP ' ACCEPT tcp -- anywhere anywhere tcp dpt:139 ACCEPT udp -- anywhere anywhere udp dpt:138 ACCEPT udp -- anywhere anywhere udp dpt:137 LOG all -- anywhere anywhere limit: avg 3/min burst 5 PKTTYPE = multicast LOG level warning tcp-options ip-options prefix `SFW2-INdmz-DROP-DEFLT ' DROP all -- anywhere anywhere PKTTYPE = multicast LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-INdmz-DROP-DEFLT ' LOG icmp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INdmz-DROP-DEFLT ' LOG udp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INdmz-DROP-DEFLT ' LOG all -- anywhere anywhere limit: avg 3/min burst 5 state INVALID LOG level warning tcp-options ip-options prefix `SFW2-INdmz-DROP-DEFLT-INV ' DROP all -- anywhere anywhere

anonymous
()
Ответ на: комментарий от anonymous

Chain input_ext (2 references)
target prot opt source destination
DROP all -- anywhere anywhere PKTTYPE = broadcast
ACCEPT icmp -- anywhere anywhere icmp source-quench
ACCEPT icmp -- anywhere anywhere icmp echo-request
reject_func tcp -- anywhere anywhere tcp dpt:113 state NEW
LOG all -- anywhere anywhere limit: avg 3/min burst 5 PKTTYPE = multicast LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT '
DROP all -- anywhere anywhere PKTTYPE = multicast
LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT '
LOG icmp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT '
LOG udp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT '
LOG all -- anywhere anywhere limit: avg 3/min burst 5 state INVALID LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT-INV '
DROP all -- anywhere anywhere

Chain reject_func (1 references)
target prot opt source destination
REJECT tcp -- anywhere anywhere reject-with tcp-reset
REJECT udp -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-proto-unreachable

-----------------------
172.16.35.0/24 dev eth2 proto kernel scope link src 172.16.35.2
172.20.1.0/24 dev eth0 proto kernel scope link src 172.20.1.44
169.254.0.0/16 dev eth0 scope link
127.0.0.0/8 dev lo scope link
default via 172.16.35.1 dev eth2

Похоже что не отвечает уже 172.16.35.1.
Если пакеты появляются на сетевой, это значит что они точно отправляются с неё?

anonymous
()
Ответ на: комментарий от anonymous

> Похоже что не отвечает уже 172.16.35.1. > Если пакеты появляются на сетевой, это значит что они точно отправляются с неё?

По идее отправляются.

А вот 172.16.35.1 вообще что-нибудь знает о существовании сети 172.20.1.0/24 ? Если не знает и знать не должен - то нужно NAT делать.

zhiltsov
()
Ответ на: комментарий от anonymous

шлюз2 что знает про сеть 172.20.1.0? Знает ли он, что все пакеты на эту сеть нужно отсылать на 172.16.35.2(шлюз1)?

Если нет рутового доступа к "шлюз2", то как вариант можно DNATить всю сеть. На шлюз1 выполни:

iptables -t nat -A POSTROUTING -i eth0 -o eth1 -j SNAT --to-source 172.16.35.2

где eth0 - это сетевуха с адресом 172.20.1.44 (адрес в локалке), а eth1 - 172.16.35.2 (адрес в сети с шлюз2).

Либо на шлюз2 пропиши роутинг на сеть 172.20.1.0 через 172.16.35.2

Slavaz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.