Portál AbcLinuxu, 10. května 2025 07:31

Dotaz: problem s route

6.1.2007 19:03 glsk | skóre: 3 | Gelnica
problem s route
Přečteno: 487×
Odpovědět | Admin
zdravim vas,
mam taky problem:
mam server s debianom, sluzi ako gw pre siet 10.202.100.0 a 10.202.102.0. Siet 10.202.100.0 je k servru pripojena priamo do sietovky eth2 a siet 10.202.102.0 je pripojena cez router ktory ma ip 10.202.100.20 na eth2 servra, problem je v tom ze pc zo siete 10.202.100.0 maju ako gw nastavenu 10.202.100.1 a ak chcu pristupovat do pc zo siete 10.202.102.0 tak ich gw cize moj server routuje na ine rozhranie ako je rozhranie nastavene v route, zo servra viem pristupovat do oboch sublanov. Nie je nieco v /proc/sys/net/ipv4 co by to zakazovalo, forwarding je povoleny. Alebo v com by este mohol byt problem? posielam este vypis z ifconfig a route


pr:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.202.100.0    *               255.255.255.0   U     0      0        0 eth2
10.202.102.0    10.202.100.20   255.255.255.0   UG    0      0        0 eth2
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
10.202.105.0    10.202.100.10   255.255.255.0   UG    0      0        0 eth2
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth1


pr:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:E0:4C:03:D0:04
          inet addr:192.168.2.100  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4717749 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3629686 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3894207161 (3.6 GiB)  TX bytes:644997531 (615.1 MiB)
          Interrupt:16 Base address:0xfc00

eth1      Link encap:Ethernet  HWaddr 00:E0:4C:03:B9:90
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45144286 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37594108 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2574421497 (2.3 GiB)  TX bytes:1244375824 (1.1 GiB)
          Interrupt:18 Base address:0xf800

eth2      Link encap:Ethernet  HWaddr 00:00:00:00:00:10
          inet addr:10.202.100.1  Bcast:10.202.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:41182455 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49263287 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1885652119 (1.7 GiB)  TX bytes:2114146390 (1.9 GiB)
          Interrupt:23 Base address:0xdc00

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:85299 errors:0 dropped:0 overruns:0 frame:0
          TX packets:85299 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:13709910 (13.0 MiB)  TX bytes:13709910 (13.0 MiB)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.1.2007 19:07 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: problem s route
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mohl bych poprosit raději o výpisy 'ip addr show' a 'ip route show'? V tomhle mi dělá problémy se zorientovat.
6.1.2007 19:25 glsk | skóre: 3 | Gelnica
Rozbalit Rozbalit vše Re: problem s route
pr:~# ip addr show
1: lo: LOOPBACK,UP mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: BROADCAST,MULTICAST,UP mtu 1500 qdisc htb qlen 1000
    link/ether 00:e0:4c:03:d0:04 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.100/24 brd 192.168.2.255 scope global eth0
3: eth1: BROADCAST,MULTICAST,UP mtu 1500 qdisc htb qlen 1000
    link/ether 00:e0:4c:03:b9:90 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth1
4: eth2: BROADCAST,MULTICAST,PROMISC,UP mtu 1500 qdisc htb qlen 1000
    link/ether 00:00:00:00:00:10 brd ff:ff:ff:ff:ff:ff
    inet 10.202.100.1/24 brd 10.202.100.255 scope global eth2
48: tun0: POINTOPOINT,MULTICAST,NOARP,UP mtu 1500 qdisc pfifo_fast qlen 100
    link/[65534]
    inet 10.201.110.20 peer 10.201.110.21/32 scope global tun0
pr:~# ip route show
10.201.110.21 dev tun0  proto kernel  scope link  src 10.201.110.20
10.202.100.0/24 dev eth2  proto kernel  scope link  src 10.202.100.1
10.202.102.0/24 via 10.202.100.20 dev eth2
10.201.110.0/24 via 10.201.110.21 dev tun0
10.201.104.0/24 via 10.201.110.21 dev tun0
192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.100
10.201.10.0/24 via 10.201.110.21 dev tun0
10.201.105.0/24 via 10.201.110.21 dev tun0
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.100
10.201.106.0/24 via 10.201.110.21 dev tun0
10.201.107.0/24 via 10.201.110.21 dev tun0
10.201.101.0/24 via 10.201.110.21 dev tun0
10.201.102.0/24 via 10.201.110.21 dev tun0
10.201.20.0/24 via 10.201.110.21 dev tun0
10.201.103.0/24 via 10.201.110.21 dev tun0
10.202.105.0/24 via 10.202.100.10 dev eth2
10.201.1.0/24 via 10.201.110.21 dev tun0
default via 192.168.1.1 dev eth1
6.1.2007 19:11 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: problem s route
Odpovědět | | Sbalit | Link | Blokovat | Admin
a ak chcu pristupovat do pc zo siete 10.202.102.0 tak ich gw cize moj server routuje na ine rozhranie ako je rozhranie nastavene v route

Kam konkrétně ty pakety posílá?

P.S.: Interpunkce a diakritika by také dost pomohly srozumitelnosti vašeho dotazu…

6.1.2007 19:22 glsk | skóre: 3 | Gelnica
Rozbalit Rozbalit vše Re: problem s route
posiela to cez eth1 na 192.168.1.1 čo je gw pre server do internetu
6.1.2007 19:28 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: problem s route

To je divné, dpokud si nezačnete hrát s pravidly, neměl by se počítač chovat jinak k vlastním paketům než k těm, které pro někoho forwarduje. Co vám vypíše 'ip rule show'?

6.1.2007 19:41 glsk | skóre: 3 | Gelnica
Rozbalit Rozbalit vše Re: problem s route
tam mam nahodené route pre každé pc zo siete zvlášť, pretože niektorých routujem cez eth0 a iných cez eth1 do internetu.
6.1.2007 19:48 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: problem s route

V tom případě bude asi problém právě v tom. Tipoval bych, že to vypadá nějak takhle:

  ip rule add priority 1000 from 10.202.100.33 table 100
  ...
  ip route add default via ... table 100

ale už v té tabulce není nic dalšího. Je-li to tak, pak veškeré pakety z 10.202.100.33 spadnou do tabulky 100 a ta je pošle na tu gateway, aniž by do toho automaticky vytvořená položka pro 10.202.102.0/24 mohla promluvit.

6.1.2007 19:50 glsk | skóre: 3 | Gelnica
Rozbalit Rozbalit vše Re: problem s route
koniec toho výpisu vyzerá takto:
32640:  from 10.202.100.118 lookup eth0
32641:  from 10.202.100.117 lookup eth0
32642:  from 10.202.100.116 lookup eth1
32643:  from 10.202.100.115 lookup eth0
32644:  from 10.202.100.114 lookup eth0
32645:  from 10.202.100.113 lookup eth0
32646:  from 10.202.100.112 lookup eth1
32647:  from 10.202.100.111 lookup eth0
32648:  from 10.202.100.110 lookup eth0
32766:  from all lookup main
32767:  from all lookup default
6.1.2007 19:52 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: problem s route
A jak vypadají ty tabulky eth0 a eth1?
6.1.2007 20:25 glsk | skóre: 3 | Gelnica
Rozbalit Rozbalit vše Re: problem s route
pr:~# ip route show table eth0
default via 192.168.2.1 dev eth0
pr:~# ip route show table eth1
default via 192.168.1.1 dev eth1
6.1.2007 20:43 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: problem s route

Tak to je přesně ten problém, o kterém jsem psal před chvílí. Paket z 10.202.100.118 spadne podle pravidla s prioritou 32640 do tabulky eth0 a ta ho pošle na 192.168.2.1 bez ohledu na cílovou adresu, protože obsahuje pouze jednu (default) položku. Chcete-li, aby to fungovalo správně, buď do tabulek eth0 a eth1 přidejte odpovídající položky:

  ip route add 10.202.102.0/24 via 10.202.100.20 table eth0
  ip route add 10.202.102.0/24 via 10.202.100.20 table eth1

nebo přidejte přednostní pravidlo, které pakety pro 10.202.102.0/24 pošle do tabulky main:

  ip rule add priority 20000 to 10.202.102.0/24 table main
6.1.2007 21:05 glsk | skóre: 3 | Gelnica
Rozbalit Rozbalit vše Re: problem s route
ďakujem veľmi pekne, ta priorita vyriešila môj problém.
6.1.2007 19:13 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: problem s route
Odpovědět | | Sbalit | Link | Blokovat | Admin

V každém případě optimální řešení je nastavit položku odpovídající linuxovému

  ip route add 10.202.102.0/24 via 10.202.100.20

i na stanicích z 10.202.100.0/24.

6.1.2007 19:26 glsk | skóre: 3 | Gelnica
Rozbalit Rozbalit vše Re: problem s route
to nie je možné, pretože je tých pc asi 100.
6.1.2007 19:28 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: problem s route
Možné to je a je to správné řešení. Všechno ostatní jsou jen berličky.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.