hadanka kolem routing-by-source

David Trcka trcka na poda.cz
Úterý Červen 25 22:33:23 CEST 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Zdravim,

resim takovou mensi hadanku, ani nevim, jestli vubec reseni ma.

Mam router, ktery ma rozhrani:

# ip a
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope global lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:20:a6:3d:22:03 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.2/30 brd 10.0.0.3 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:50:fc:6b:2f:76 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 10
    link/ppp
    inet 10.0.1.2 peer 10.0.1.1/32 scope global tun0

eth0 je ethernet do sveta, eth1 je ethernet LAN, tun0 je rozhrani IP 
tunelu (pomoci vtund), ktery prochazi pres eth0 nekam do sveta na vtund 
server. Routing je udelany tak, ze pro sit 192.168.1.0/24 se vsechno 
routuje pres tunel, zbytek chodi normalne ven:

# ip ru ls
0:      from all lookup local
32765:  from 192.168.1.0/24 lookup 100
32766:  from all lookup main
32767:  from all lookup default
# ip r ls table main
10.0.1.1 dev tun0  proto kernel  scope link  src 10.0.1.2
10.0.0.0/30 dev eth0  proto kernel  scope link  src 10.0.0.2
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.1
default via 10.0.0.1 dev eth0
# ip r ls table 100
10.0.0.0/30 dev eth0  proto kernel  scope link  src 10.0.0.2
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.1
default via 10.0.1.1 dev tun0

Jinymi slovy, pakety ze site 192.168.1.0/24 maji jinou vychozi branu nez 
zbytek.

Cele to funguje, az na to, ze se to chova u traceroutu sice logickym a 
spravnym zpusobem, ale pro me nezadoucim, a to tak, ze vypis traceroutu 
nekde zvenci pres vtund server jako jeden z hopu zobrazuje adresu 10.0.0.2 
(adresu rozhrani eth0). Je to sice spravne a logicke, ale ja bych 
potreboval, aby se v tom vypise ukazala adresa toho rozhrani tun0, tedy 
10.0.1.2, obecneji receno, aby paket 'TTL expired' poslal ven tim 
rozhranim, ktere odpovida reverzni ceste paketu, ktery jej zapricinil.
(Snad je to pochopitelne formulovano)
Hledal jsem nekde v nastaveni /proc/sys/net/ipv4, jestli tam nebude nejaky 
ten sysctl, ktery by tohle mohl ovlivnit, ale nic odpovidajiciho jsem tam 
nenasel. Mozna existuje nejaky patch, ale me dotazy googlu jsou zrejme 
prilis obecne (nevim jak to mam lepe specifikovat), takze dostavam spoustu 
balastu, ale z toho nic, co by resilo muj problem.

PS: jadro je 2.2.20


Diky za vas cas



- -- 
David Trcka, network administrator
PODA s.r.o. - Internet Service Provider
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9GNOWMNnAMG0b8P4RAnPgAJ403n7Qa72Gns24uNFiVge7nMLk6QCgidIv
H8DBr5YvBXBzv04nO4kb1bs=
=CrOj
-----END PGP SIGNATURE-----



Další informace o konferenci Linux