Mert valaki azt mondta hogy a router gépen DHCP-t is futtassak és az ossza ki az IP címeket. Csakhogy most fix IP címekkel dolgozik a hálózat és ha nem muszáj akkor ezt nem változtatnám meg. Az én véleményem szerint egyébként nem kell DHCP. Viszont mindezidáig nem tudtam megosztani ezt a nyavalyás ADSL-t pedig ráment 3 napom. Kipróbáltam egy pár variációt... Nem lenne ez olyan bonyolult a leírások szerint, valamiért mégsem ment nekem. A router gépen kiadtam ezeket a parancsokat: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP iptables -A FORWARD -i ppp0 0 -m state --state NEW,INVALID -j DROP A kliens gépeken megadtam a router belső hálózat felé néző hálókártyájának IP címét alapértelmezett átjárónak, oszt nem megy. Itt tartok.
Van egy kis hálózat, néhány kliens, egy samba szerver, egy switch. A szerverre FC4-et tettem. Fix IP címek vannak. Most a szerverbe raktam mégegy hálókártyát és az ADSL-modemre csatlakozik. Ezt szeretném megosztani a kliensek között is, úgy hogy a szerver lenne a router is. Meg tudná valaki mondani hogy kell ezt csinálni úgy hogy az eredeti hálózat is megmaradjon? Mit kell állítani az iptablesben, esetleg másutt?
Közben akadt egy kis problémám a tűzfalszabályokkal. Szeretném a gépen áthaladó SMTP kéréseket visszapattintani egy ICMP hibaüzenettel. Ha nincs bekapcsolva a NAT, akkor ez müködik:
(Eltartott egy ideig amíg rájöttem hogy az -s 0.0.0.0 nélkül nem müködik. Kicsit azért még furcsán megy, mert 1 db ICMP HOST UNREACHABLE üzi helyett a forrásgép kap egy REDIRECT-et és 1-2 db UNREACHABLE üzenetet, de a lényeg hogy megy)
Sziasztok,
Lehet hogy a problémám nem tökéletesen illik, de mivel IPTABLES-szel szeretném megoldani, talán elfér itt.
Adott egy kis cég hálózata. A levelezést, proxy-t egy Windows 2003 Server viszi (SBS) egy belső és egy külső hálókártyával. A netet egy 128k-s bérelt vonalon érjük el. Nagy nehezen sikerült beköttetni egy 2Mbites kábeltv-s internetelérést, ami szépen müködik is. Ha nem lenne saját levelezőszerverünk, akkor itt vége is lenne a történetnek, átdugjuk a patch kábelt és kész. Csak hát van és most következik a domain név átregisztrálás, ami a két évvel ezelőtti tapasztalataink szerint eltart pár hétig. A Windows 2003 rendszergazdája azt akarja hogy várjuk meg amíg minden lezajlik, a DNS szervereken végigfut a változás és amikor lekapcsolják a bérelt vonalat átdugjuk a kábelt a kábelnetre. Én azon a véleményem vagyok hogy ha már itt a normális sebességü kapcsolat, akkor ne szenvedjünk tovább 30 klienssel egy 128k-s vonalon, keressünk valami megoldást.
Adott tehát két internetelérés, két fix IP címtartománnyal, a régin jönnek a levelek, a webezésre pedig gyors kapcsolatot kéne használni. A másik rendszergazda nem akar (nagyon) hozzányúlni a Windows-os szerverhez, két IP cím állítólag nem rendelhető egy hálókártyához Win alatt (meg routing problémák is lennének gondolom), szóval a szerveren kívűl kell megoldani a problémát. Nekem az az ötletem hogy odateszünk a külső hálókártyája elé egy Debian-os PC-t egy megfelelően bekonfigurált IPTABLES-szel, ami majd NAT-ol a winnek. A két CISCO router-t csatlakoztatjuk egy a belső hálózattól elkülönített switch-re, majd ide csatlakoztatjuk a két szervert is.
Innentől két megoldást tudok elképzelni:
1) A linux-ra felkerül egy SQUID ami a win felé parent proxy lesz. A SQUID-hez nem értek, tehát ezt csak végső esetben akarom.
2) A Windows 2003 routing táblájába felvesszük a linux-os szervert 1-es metrikával, a régi netkapcsolat router-ét pedig 2-essel.
IPTABLES-szel figyelem a csomagokat és ha kifelé irányuló POP3 vagy SMTP kommunikációt észlelek akkor visszaküldök egy ICMP host unreachable csomagot a win felé, ami elvileg ezután a 2-es metrikájú régi kapcsolaton próbálja a levelezést bonyolítani.
úgy nézem az EQL csak soros vonali cuccokon (ppp/slip) működik és kell neki a draut másik oldalán is valami support :(
de pár ötletet azért találtam... köszi! ; és aki még tud hozzátenni a témához ne tartsa magában :)
Érdekes problémám lesz néhány napon belül.... van egy soho network itthon úgy hogy 1 db Slackware linux szerver, benne négy hálókártya, egyik kártyára internet be, másik háromban gépek. Minden szép és jó :) Most viszont kapok még egy vonalat (hehe hogy csináljunk 512-ből 1024Mbitet) amit úgy kéne hozzáfűzni a meglevőhöz hogy a kiszolgált gépek mindkét vonal sávszélességét használhassák ha kell.
jelenlegi meghatározó iptables parancs a
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d ! 192.168.0.0/16 -j MASQUERADE
meg még pár, ami a portokat engedélyezi, tiltja stb.
Arra már rájöttem hogy rc.intet1.conf-ban megadom az eth1 hálókártyának is hogy dhcp-t használjon (tehát ne csak az eth0 hanem az eth1 is kérjen magának ipt) és eth1-be dugom be az új vonalat (egy gép persze kiesik innen, de úgyis kapok majd egy switchet, akkor elég lesz a szerverbe három hálókártya - kettőbe net be, egy a switchhez). Na innen vagyok gondban, hogy hogyan közöljem az iptablessel az új szituációt...
Ötlet, tipp, howto, célratörő google keresőszó? ;)
Szvsz próbáld meg az SNAT éd DNAT targeteket: a LAN-od kiálasztott egyes gépeinél a kimenő csomagoknak a source adressét változtasd a publikus tartomány valamelyik cuccára, visszafelé meg vissza a megfelelő LAN-os IP-re. Akkor lesz 9 géped, mindegyiknek külön-külön kvázi publikus IP-je, a maradék 11 meg osztozik a maskarázott IP címen.
Vagy most nézem, hogy van a MASQUERADE-nek egy -to-ports opciója, lehet, hogy ezzel esetleg kétfelé tudsz egy puvlikus IP-t osztani, és akkor lenne 20 MASQUERADE-es szabályod, minden gépre egy-egy, és a LAN-os IP-k egyik fele kifelé a 0-32768, a másik fele megy a 32769-65535 portokat használná.
Esetleg megcsinálhatod, hogy a gépek, ha minden Linux megy, egyik felének választasz egy-egy default Gateway-t a másik feléből, és aztán a másik fél mindkét gépe kap egy-egy publikus címet, és így lebontod az 1 bonyolult IPTablest 10 egyszerűbbre...
Kene egy kis segitseg egy internetkapcsolat beállitásához. A szolgáltatótól van 10 publikus IP cimem: 213.164.244.130-139/27, gw: 213.164.244.129, a hálózatban eddig van 20 gép. Érdekelne, hogyan lehet mind a 10 IP cimet felhasználva megoldani az internet-shareinget. Egyenlore MASQUERADE-val oldottam meg, de ez csak egy IP cimet használ és egyes játékok, progik nem szeretik ha tul sokan ugyanazon az IP-n lépnek ki. Jelenleg eth0: 213.164.244.130/27, eth1-en a belso halo: 192.168.0.0/24
Mindenkinek köszönöm, aki segíteni próbált. Megoldódott. Régi kernel volt, nem volt benne a masqurading. Új kernel fordítás, iptables beállítva, minden működik. Köszönöm.
Akkor szinte biztos, hogy a routing table a hibás, ti. ha a belső gépek elérik a szervert (mail megy pl.), illetve a szerver eléri a netet. Tanulmányozd a route parancsot, pl man route, vagy a routingot állítsd be vmi más cuccal, pl. Webminnel, ha az van. Valszeg ezzel lesz baj.
(Magyarul a csomagjaid nem rudják, hogy egy tetszőleges IP-cím felé ha mennek, a gateway-on keresztül kell menniük)
Másik lehetséges hibaforrás: be van-e kapcsolva a masquerading a belső hákóról jövő csomagokra? A 192.168.x.x tartomány az ugye, a LAN-oknak van fenntartva, ha ilyen csomag kimegy a netre, az első igazi gateway eldobja, mert odakinn tilos ilyen cím használata, ezért a te gateway-od ezt a 192.x.x.x csomagot átnevezi a saját IP-jére, a visszajövőket meg vissza 192.x.x.x-re. Magyarul kell egy olyan szabály, hogy ha forrás a belső hálókártya, akkor MASQUERADE.
A 2 hálókártyás gépen van web.Ezen a gépen van egy mailserver és egy webserver.
Belső hálóról még a ping sem megy ki.Csak a külső hálókártyát tudom pingetni. iptablesben meg nincsen letiltva semmi. Jelenleg minden engedélyezve van mindenhová. Ezzel szemben nem megy a dolog. Olyan mintha a külső hálókártyán lenne egy teljesen zárt tűzfal. Pedig nincs... Onnan seki, se be. Csak azon a gépen van net. Sehol máshol. De a leveleket megkapják a belső gépek...
Ha csak a Web nem megy, akkor valahol máshol lesz a hiba, így első blikkre, ha az iptables konfig fájljában ez nincsen explicite leírva (ti. hogy valami mást csináljon a 80-as, vagy a 25-ös porttal). Szerintem csekkeld a DNS-szerverek neveit, a browserben. Ha az SMTP-szerver a LAN-ben van, akkor a routingot is érdemes lehet átnézni.
UI. jól értem, a gateway ("két hálókártyás") gépen nincs web? Vagy az a tűzfalszerver, és a mögötte lévő gépeken nem lehet használni? Ping parancsra mit lép a cucc? (Pl ping www.index.hu, illetve ping 217.20.131.2 -- az index IP-jét, ha csak a DNS nem megy).
Lamer kezdő vagyok és kéne egy kis help iptables-ben.
Van egy gép 2 hálókártyával eth0 és eth1. Azt eth0 megy a külivág felé fix ip címmel(195.199.8.205). eth1 a belső hálózat felé néz ugyan csak fix ip címmel(192.168.1.1). A probléma az, hogy nem megy a www. Érdekes módon a levelek jönnek mennek. Tudna valaki segíteni? Elég sürgős lenne!
Az IP továbbítás nem hiszem hogy jó, mert akkor nem lehetne www -zni sem a behívó gépről (ha jól emléxem éppen ez volt a gond az elején, amikor minden jó volt, csak éppen nem ment a www).
A FORWARD láncot kipróbálom, tényleg logikusabb mint az INPUT ebben az esetben.
Próbáld -v kapcsolóval listázni, szerintem akkor látszódni fog a ppp0!
A helyi hálózatra csatlakozó hálókártyának és a ppp interfésznek külön ip-címe van. Tehát aki a ppp felől jön, az nem 192.168.1.80-nak fogja látni a szervert. De tényleg az a legegyszerűbb, ha letiltod a csomagtovábbítást (/proc/sys/net/ipv4/ip_forward fájlban 0-nak kell lenni).
Segitseget kernek iptables ugyben. Viszonylag egyszeru dolgot kellene megvalositani. Van egy helyi halo 192.168.1.x cimekkel. Ebben van egy behivo szerver a 192.168.1.80 -nal. Az lenne a lenyeg, hogy aki ppp -vel behiv ra, az a helyi cimtartomanybol csak a szervert lassa, a helyi halo tobbi cimet ne erje el.
En igy akartam megoldani:
iptables -A INPUT -d 192.168.1.80 -i ppp0 -j ACCEPT
iptables -A INPUT -d 192.168.1.0/24 -i ppp0 -j DROP
De nem mukodik. A leggyanusabb, hogy mikor kilistazom a szabalyokat, a listaban a ppp0 sehol sem szerepel.
Neked a csomagokat nem IP_C felé kell indítani, mert ez a LAN egy pl. 192.168.0. kezdetű gépe, s az első gateway eldobja a csomagokat, hanem neked IP_B-vel kell kapcsolódni, és IP_B szervernek kell magától a csomagokat IP_C felé irányítania. Szerintem ez csak így müxik.