Portál AbcLinuxu, 26. dubna 2024 07:00


Dotaz: iproute 2 ISP local traffic

29.7.2009 10:03 chinook | skóre: 28
iproute 2 ISP local traffic
Přečteno: 403×
Odpovědět | Admin
topologie site
                                                                   ________
                                           +-------------+        /
                                           |    ISP 1    |       /
                             +-------------+    (RADIO)    +------+
                             |             | gw 88.x.x.1 |     /
                      +------+-------+     +-------------+    / 
+----------------+    |     eth0     |                       /
|                |    |eth2          |                      |
| Local networks +----+ Linux router |                      |  Internet cloud
|                |    |      FW (NAT)|                      |
+----------------+    |     eth1     |                       \
                      +------+-------+     +-------------+    \
                             |             |    ISP 2    |     \
                             +-------------+  (O2)          +------+
                                           | gw 10.0.0.1 |       \
                                           +-------------+        \________

ip eth0 88.x.x.2
ip eth1 10.0.0.1
ip eth2 192.168.1.1

traffic rozdeluji mezi ISP pomoci znaceni paketu

iptables -t mangle -I PREROUTING -s 192.168.1.4 ... set-mark=0x66 a jde to pres O2 coz je i defaultni gateway

Pokud to jde takhle pres nat z vnitrni site, tak si muzu poslat cokoli pres jakehokoliv ISP.

Problem je, kdyz chci smerovat neco co jde primo z FW. Pomoci iptables se mne to nepodarilo, stale to chodi pres default gateway.

Na FW bezi postfix, kde se posta tridi a pak preposila na server(ve vnitrni siti). Ja chci prave aby postfix odesilal postu pres ISP1. Defaultne vse co jde z FW odchazi pres ISP2 Zkousel jsem i smtp_bind_address v main.conf to pak posta odchazi pres toho koho chci, ale prijata posta se uz neposle na server ve vnitrni siti.

Napada nekoho jak to resit?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.7.2009 10:14 Zdenek
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Odpovědět | | Sbalit | Link | Blokovat | Admin
Source policy routing (ip rule).
29.7.2009 10:23 chinook | skóre: 28
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Nevim jestli jste to vy nebo ja pochopil dobre. Ja nechci kompletne smerovat traffic z FW na jednoho ISP. Chci neco pres ISP1 (postfix tzn. co jde na port 25) a zbytek pres ISP2.
29.7.2009 10:55 Zdenek
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Vy :-). Pres iptable si oznackujte pakety a pres ip rule je smerujte kam chcete.
29.7.2009 11:20 chinook | skóre: 28
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Nemuzes presne napsat jak? Doufam, ze ti nevadi tykani, mne na foru vykani nesedi tam jsem se jen prepsal.


.
.
.
ip rule add fwmark 0x66 table radio
ip rule add fwmark 0x65 table o2
.
.
.


iptables -A PREROUTING -i eth2 -s 192.168.1.4 -i eth2 -j MARK --set-mark 0x66
 jde pres RADIO

iptables -A PREROUTING -i eth2 -s 192.168.1.1 -i eth2 -j MARK --set-mark 0x66
 Tady je source IP FW na kterem jsou pravidla aplikovany a jde pres O2 (potrebuju vedet jak to nastavit at to jde taky pres RADIO)

iptables -A PREROUTING -i eth2 -s 192.168.1.3 -i eth2 -j MARK --set-mark 0x65
 jde pres RADIO





29.7.2009 12:09 Zdenek
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Nevadi. Tu znacku musis nastavovat v chainu OUTPUT v tabulce mangle.
29.7.2009 12:26 chinook | skóre: 28
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Tam to prave na to pravidlo nereaguje

iptables -t mangle -I OUTPUT -p tcp --dport 25 -j MARK --set-mark=0x66

Stale chodi pres O2 misto RADIO
29.7.2009 12:46 Zdenek
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
To pravidlo, ale urcite s ip rule funguje. Neprepisujes tu znacku jeste jinde? Nebo neroutujes jeste pred fwmark podle source IP?
29.7.2009 13:03 chinook | skóre: 28
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Ted jsem vyhazel uplne vsechny pravidla co oznacuji pakety a dal do retezce OUTPUT v tabulce mangle znacku. Bohuzel paket se jen oznaci ale uz neodroutuje jak ma.

 ip rule show
0:      from all lookup 255
32686:  from 10.0.1.1 lookup skynet
32687:  from 10.0.0.1 lookup o2
32688:  from 88.x.x.4 lookup radio
32689:  from 88.x.x.3 lookup radio
32690:  from 88.x.x.2 lookup radio
32691:  from all fwmark 0x64 lookup skynet
32692:  from all fwmark 0x65 lookup o2
32693:  from all fwmark 0x66 lookup radio
32714:  from 88.x.x.0/29 lookup radio
32718:  from 88.x.x.2 lookup radio
32766:  from all lookup main
32767:  from all lookup default



ip route show
192.168.121.2 dev tun0  proto kernel  scope link  src 192.168.121.1
88.x.x.0/29 dev eth0  scope link  src 88.x.x.2
10.0.0.0/24 dev eth1  scope link  src 10.0.0.1
10.0.1.0/24 dev eth1  proto kernel  scope link  src 10.0.1.1
192.168.1.0/24 dev eth2  proto kernel  scope link  src 192.168.1.1
192.168.121.0/24 via 192.168.121.2 dev tun0
169.254.0.0/16 dev eth2  scope link
default via 10.0.0.138 dev eth1

29.7.2009 14:04 Zdenek
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
32686: from 10.0.1.1 lookup skynet

Tohle pravidlo se uplatni driv nez dojde k porovnani znacky. Vyber source adresy pres iptables neovlivnis, to musi umet konkretni program. Mel bys posunout fwmark pred tohle pravidlo a pak samozrejme tu zdrojovou adresu pomoci SNATU prepsat na tu ktera patri odchozimu interface.
29.7.2009 14:22 chinook | skóre: 28
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Ad1) muzes vysvetlit proc se aplikuje? To by pam melo teda vse chodit pres skynet ne? Coz tak neni

Ad2) jak muzu s temi pravidly hybat?

Ad3) pro stanice co jsou za natem to jede bez problemu, takze by to melo byt dobre ne?
29.7.2009 14:48 Zdenek
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
1. Vse co se generuje na lokalnim stroji s adresou 10.0.1.1. Nevim jak vypada tabulka skynet.
2. ip rule .... prio <priorita>
3. Pro stanice na lokalni siti se uplatni az pravidla s fwmark nebo az tabulka main.
29.7.2009 14:51 Zdenek
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Jo a prehlidl jsem ze na eth1 mas dve ip adresy. Takze se uplatnuje az to druhe pravidlo:

32687: from 10.0.0.1 lookup o2
29.7.2009 15:57 chinook | skóre: 28
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Mate pravdu funguje to tak jak rikate. Uz mne to chodi. Jeste jeden dotaz jak se ty pravidla maji zadavat? Ted to mam jako script neco ve smyslu:

ip rule del fwmark 0x66 table radio
ip rule add fwmark 0x66 table radio

ip rule del from 10.0.1.1 table skynet
ip rule add from 10.0.1.1 table skynet



Toto mne prijde takove krkolomne. Asi by se hodilo neco jake je iptables-save a iptables-restore
29.7.2009 10:53 chinook | skóre: 28
Rozbalit Rozbalit vše Re: iproute 2 ISP local traffic
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak konkretne pro postfix se mne to podarilo vyresit. v master.conf jsem nastavil dve odchozi smtp a smtpinteral.

smtp unix - - n - - smtp -o smtp_bind_address=10.0.1.1 smtpinternal unix - - n - - smtp -o smtp_bind_address=192.168.120.254

V transport maps smeruju vse pro server ve vnitrni siti do smtpinternal zbytek jde pres smtp...

Ale stale me zajima jak to resit pres ip rule ci iptables.

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.