Iptables a presmerovani cele adresy

Linux, Unix, BSD systémy, distribuce, open source

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Honzax 22. 9. 2007 18:45

Mam prosbicku, Iptables me rika jen velice malo a potrebuji ted hodne narychlo udelat jednu masinku a musim tam udelat preklad cele adresy, ale uz jsem se do toho nejak zamotal...
jde o tohle.
PC, dve sitove karty eth0 a eth1.
eth0 lokalni sit (192.168.55.10)
eth1 internet (194.xx.xx.xx)
pocitac v internetu (195.xx.xx.xx) cokoliv co prijde z tohoto PC potrebuju prelozit do vnitrni site na 192.168.55.5
jak pro to napsat potrebne pravidlo, pomuzete prosim nekdo?
na preklad jednotlivych portu jsem s pomoci netu prisel, ale tohle se mi nedari rozjet :-/
Honzax
Junior
Uživatelský avatar

Odeslat příspěvekod .ParadoX. 22. 9. 2007 18:59

napadlo mne

iptables -t nat -A PREROUTING -d 194.x.x.x -s 195.x.x.x -j DNAT --to 192.168.55.5
<? echo "hello world"; ?>
.ParadoX.
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod Honzax 24. 9. 2007 22:35

moc diky, zkousel jsem to ale nejak neuspel :(
zkousel jsem hledat na netu a "poskladal" pravidla podle ruznych navodu, jenze me to nefunguje. Nechavam stranou bezpecnost, potrebuji jen aby to chodilo a tohle budu resit nasledne.
Ten router by mel byt vlastne transparentni a ani jedna "strana" by o jeho existenci v podstate nemela "vedet". Takze, pravidla ktere jsem tam dal:

iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 192.168.55.5
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 194.xx.xx.xx

jen upresnim, ze v puvodnim postu jsem prehodil sitovky. eth0 je verejna a eth1 privatni sit. V cem je chybka, nemuzu na to prijit. Poradite nekdo?
Honzax
Junior
Uživatelský avatar

Odeslat příspěvekod duBeN 25. 9. 2007 11:19

iptables -A FORWARD -o eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT

iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 192.168.55.5
iptables -A FORWARD -i eth0 -d 192.168.55.5 -j ACCEPT

- toto preposle vsetko co pride na eth0 na 192.168.55.5
duBeN
Junior
Uživatelský avatar

Odeslat příspěvekod _Mike_ 25. 9. 2007 12:02

Mas zapnute routovanie ?
Pozri ci je v /etc/sysctl.conf

net/ipv4/ip_forward=1

resp. ekvivalent v tvojej distribucii...
_Mike_
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod Honzax 25. 9. 2007 15:26

tak nevim, ne a ne mi to fungovat :(
cat /proc/sys/net/ipv4/ip_forward mi vypise 1, takze nastavene by to byt melo. (debian)
z routeru si na 55.5 normalne pingnu, z internetu si na eth0 pingnu take, ale ve chvili kdyz pouziji pravidla ktere jste mi poradili, tak se z internetu ping okamzite ztrati. co jeste zkusit, nemate nekdo napad?
Honzax
Junior
Uživatelský avatar

Odeslat příspěvekod duBeN 25. 9. 2007 15:41

mozes pouzit logovanie na zistenie co sa deje s paketmi

skus sem este hodit vypis
Kód: Vybrat vše
#iptables -nvL
duBeN
Junior
Uživatelský avatar

Odeslat příspěvekod Honzax 25. 9. 2007 16:05

Tak uz vim v cem bude problem, dal jsem si na vnitrni adresu routeru ntb a on dostava pakety, s adresou PC z ktereho si na nej pinguju z internetu, tedy 195.xx.xx.xx ale vlastne by mel dostavat pouze z vnitni adresy routeru, tedy 192.168.55.10, tu vnejsi by vubec nemel videt.

Kód: Vybrat vše
Chain INPUT (policy ACCEPT 7089 packets, 425K bytes)
pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
    8   480 ACCEPT     0    --  eth0   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     0    --  eth0   *       0.0.0.0/0            192.168.55.5

Chain OUTPUT (policy ACCEPT 7179 packets, 439K bytes)
pkts bytes target     prot opt in     out     source               destination
Honzax
Junior
Uživatelský avatar

Odeslat příspěvekod _Mike_ 25. 9. 2007 17:59

To ze vidi vonkajsiu adresu je v poriadku, DNAT ti meni cielovu adresu. Vnutorny pocitac to vie, ze to ide z netu. Preto musi mat nastavenu default gateway, aby to poslal spat a o spatny preklad sa postara SNAT.

Posli este:

iptables -nvL -t nat

Inak tie pravidla by mali by byt ak je eth0 verejna:

iptables -t nat -A PREROUTING -s 195.x.x.x -i eth0 -j DNAT --to-destination 192.168.55.5
iptables -t nat -A POSTROUTING -s 192.168.55.0/24 -o eth0 -j SNAT --to-source 194.x.x.x

+ FORWARD rules, ale FORWARD politiku mas ACCEPT, takze tie by nemalo byt treba.
_Mike_
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod Honzax 25. 9. 2007 18:40

vim, uz jsem to vyzkousel, problem je, ze ja na nem nemuzu nastavit jinou gw :(
on v te vnitrni siti neni /nebude pocitac, ale IP telefonni ustredna od Siemense... ta ma napevno nastavenou gw pro nasi sit, kvuli pobockam, menit ji nemuzu, pridavat routy taky ne.
proto bych potreboval nejak udelat, aby to fungovalo takhle:

prijde paket z 195.xx.xx.xx ---> eth0 (194xx..) je predan na eth1 (192.168.55.10) a pod touto adresou odchazi k ustrende 55.5 ta odpoved vraci na 55.10 ze ktere ji to vlastne doslo a router by to mel zase dostat zpet pod svou vnejsi adresou 194.xx na tech 195.xxx

jde to nejak udelat? doufam ze jsem to nepopsal moc slozite, vysvetlovani mi obcas dela opravdu problemy :-(
Honzax
Junior
Uživatelský avatar

Odeslat příspěvekod _Mike_ 25. 9. 2007 23:04

To riesis NATko pre SIP IP telefony ?

Viem ze je to dost problem, nasiel som toto , je tam linka aj na iptables sip modul: http://www.voip-info.org/wiki/view/NAT+and+VOIP
_Mike_
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod superlamer 26. 9. 2007 00:04

pri DNAT sa nemeni zdrojova adresa, ale len cielova adresa, takze je spravne, ak ti pri komunikacii z pc 195.xx.xx.xx na eth0 194xx.. prejde paket na 55.5 so zdrojovou adresou 195.xx.xx.xx a nie 192.168.55.10, pretoze spojenie navazuje pc 195.xx.xx.xx a nie 192.168.55.10. ak chces presmerovat cely trafik na 55.5, tak si na eth0 194xx.. hod alias dalsej ip, a tu DNATuj, resp. SNATuj na 55.5 resp. na tu alias ip. alebo je druha moznost - vpn...
superlamer
Junior

Odeslat příspěvekod Honzax 26. 9. 2007 05:55

_Mike_: ano, jde mi o IP telefony, bohuzel to neni ani "bezny" SIP, ale jista proprietarni varianta H323. Diky za ten link, mrknu na nej hned jak budu v praci.



superlamer: vim ze mas pravdu a iptables se chova "spravne", podle meho nastaveni, proto jsem prosil jestli nekdo nema napad jak to udelat jak potrebuji.
Omlouvam se, ale s tim aliasem moc nerozumim, popravde jak jsem psal ze zacatku, tahle oblast mi prilis nerika. Muzes to prosim nejak rozvest, nebo upresnit?
Honzax
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků