Önműködő ppp+tűzfal

 ( voroskoi | 2004. november 26., péntek - 1:21 )

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

[quote:5e5aa9617a="begin"]Szörnyen néz ki! Én manuálisan (iptables -A ...) szoktam szoktam felvinni a szabályokat, nem generátor program használatával. Amikor elkészültem a dologgal, az [b:5e5aa9617a]/etc/init.d/iptables save active[/b:5e5aa9617a] paranccsal lementetem, ami a [i:5e5aa9617a]/var/lib/iptables[/i:5e5aa9617a] könyvtárba menti le active néven a szabályokat. Ez induláskor mindig automatikusan betöltődik.
Egyáltalán mire használod? Maszkolod a mögötte levő gépeket, ezen kívül valami van még valami? Valami portot nyitsz meg rajta?[/quote:5e5aa9617a]
Ha Te mondod, akkor elhiszem, hogy szörnyű. Bár nem látom, mi a különbség a két eljárás(szkript, manuális) között a végeredményt tekintve. Illetve azt sem értem, hogyha változik az ip(újraindítás esetén), akkor hogyan igazítja ki magát az iptables. Persze, ha nem használsz ip-t csak interfészt akkor ilyen gond nincs(jól gondolom?).

A szkriptet nem én írtam, így nem is nagyon merem/tudom módosítani, csak használom. Ha lesz időm beleásom magam a témába, de most gyors megoldás kéne átmenetileg, hogy használhassuk :(

A Dr_Mac-féle megoldás is jó lenne. A ppp S14-gyel fut, a firewall S88-cal. Szóval elvileg addigra már megy a kapcsolat, de mégse működik :?

A szkript a maszkoláshoz kell, valamint ssh, apapche is lesz 80-as és 443-as porton, dc-t is használunk és counter-strike-ozni is szoktam :oops:
Ezzel van is olyan gondom, hogy néhány porton nem csak az established, related-et kéne engednem, hanem minden mást is, mert így ugrál a pingem. Erre van tudtommal a PREROUTING. Megoldható vele, hogy mind a 3 belső gép megkapja ezeket a csomagokat? Pl úgy, hogy broadcastra küldöm? Vagy ez nem szép dolog? Azért kéne mindháromra küldeni, mert változó, hogy melyik gép(ek)ről játszunk.

Szóval nem egy komoly szerverről van szó(bár nem hiszem, hogy úgy tűnt) :) , csak egy albérletről.

Én első közelítésre megpróbálnám azt, hogy az összes tűzfalszabályból kiveszem az IP címekre való hivatkozásokat és csak csatolókat hagynék benne. Hátha így megy.

Nekem valamikor Mandrake okozott hasonló szívást. Ott is felhúzta a tűzfalat, ráadásul a netnek fix IUP-je volt, mégsem működött csak akkor, ha a hálózatot újraindítottam :roll:

[quote:0fb71b768c="Dr_Mac"]Én első közelítésre megpróbálnám azt, hogy az összes tűzfalszabályból kiveszem az IP címekre való hivatkozásokat és csak csatolókat hagynék benne. Hátha így megy.

Nekem valamikor Mandrake okozott hasonló szívást. Ott is felhúzta a tűzfalat, ráadásul a netnek fix IUP-je volt, mégsem működött csak akkor, ha a hálózatot újraindítottam :roll:[/quote:0fb71b768c]
OK. Mindenképp meg fogom próbálni, bár jobban örülnék, ha tudnám valahogy késleltetni. Azt hittem, az rc*.d-ben erre valók az S utáni számok, de úgy tűnik, tévedtem. :-(
A segítséget mindenesetre köszönöm. :)

Üdv !
Szerintem iptables-nél lehet "még" nem létező ezközre ( -i ppp0 ... ) szabály irni, ez csak ipchains-nál volt probléma.
g2

Nem teljesen látom át, hogy a megadott URL-en lévő script, meg amit leírsz, hogy jön össze?
Egyfelől azt írod, hogy a ppp0 néz a net felé és a belső háló az eth0-on lóg. Ehhez képest a script legelején a következő sorok állnak:
EXTIF="eth0"
INTIF="eth1"
Magyarán a script _külső_ interface-nak kezeli azt az et0-t, ami a belső hálód, belsőnek viszont a nem is létező eth1-et tekinti. Hmmm...

Másfelől azt mondod, be van drótozva az IP. Amit bedrótozva látok, az viszont csak a belső háló IP-je - ami viszont tényleg nem változik. Bibi az lehet, ha a belső hálót nem a 192.1681.0-s networkre húztad fel, mert a scriptbe ez van beégetve... Ráadásul ha tényleg be van drótozva az IP, akkor azon a script újra futtatása sem fog változtatni...

[quote:67faa1a5e0="Zs"]Nem teljesen látom át, hogy a megadott URL-en lévő script, meg amit leírsz, hogy jön össze?
Egyfelől azt írod, hogy a ppp0 néz a net felé és a belső háló az eth0-on lóg. Ehhez képest a script legelején a következő sorok állnak:
EXTIF="eth0"
INTIF="eth1"
Magyarán a script _külső_ interface-nak kezeli azt az et0-t, ami a belső hálód, belsőnek viszont a nem is létező eth1-et tekinti. Hmmm...

Másfelől azt mondod, be van drótozva az IP. Amit bedrótozva látok, az viszont csak a belső háló IP-je - ami viszont tényleg nem változik. Bibi az lehet, ha a belső hálót nem a 192.1681.0-s networkre húztad fel, mert a scriptbe ez van beégetve... Ráadásul ha tényleg be van drótozva az IP, akkor azon a script újra futtatása sem fog változtatni...[/quote:67faa1a5e0]
Bocs. Igazából lusta voltam átírni a dolgokat. A szkriptet, amit belinkeltem, annyit módosítottam, hogy $EXTIF="ppp0", $INTIF="eth0" (ezt egyébként kommentben javasolja) másrészt az $INTNET="192.168.70.0/24" az $INTIP="192.168.70.1", de ezek részletkérdések. A probléma az, hogy ez a sor[code:1:67faa1a5e0]EXTIP="`$IFCONFIG $EXTIF | $AWK \
/$EXTIF/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"[/code:1:67faa1a5e0] rossz ip-t ad vissza és innentől kezdve minden sor rossz, amiben az $EXTIP szerepel.
Szóval vagy minden -d $EXTIP-et -i ppp0-ra cserélek (nem tudom, működne-e, de holnap kipróbálom) vagy -- és ezt akartam kérdezni -- várok addig a szkript futással amíg jó ip-t venne fel(ez nem tudom mennyi idő lenne).

[quote:9e05dbccc9="voroskoi"]Ha Te mondod, akkor elhiszem, hogy szörnyű. Bár nem látom, mi a különbség a két eljárás(szkript, manuális) között a végeredményt tekintve. Illetve azt sem értem, hogyha változik az ip(újraindítás esetén), akkor hogyan igazítja ki magát az iptables. Persze, ha nem használsz ip-t csak interfészt akkor ilyen gond nincs(jól gondolom?).[/quote:9e05dbccc9]A különbség a kettő között az, hogy a te szkripted >90%-a szemét, ami zavarossá teszi. Az iptables-save kimete pedig főként a szabályokat tartalmazza, ettől sokkal áttekinthetőbb. Az ip használattal kapcsolatban pedig [b:9e05dbccc9]Dr_Mac[/b:9e05dbccc9]-nek teljesen igaza van, hogy kerülni kell.

[quote:9e05dbccc9="voroskoi"]A szkriptet nem én írtam, így nem is nagyon merem/tudom módosítani, csak használom. Ha lesz időm beleásom magam a témába, de most gyors megoldás kéne átmenetileg, hogy használhassuk :( [/quote:9e05dbccc9]Csak egyszer kell 10 percet rászánni, hogy összehozd a szabályokat manuálisan, és utána tuti jól működik.

[quote:9e05dbccc9="voroskoi"]A szkript a maszkoláshoz kell, valamint ssh, apapche is lesz 80-as és 443-as porton, dc-t is használunk és counter-strike-ozni is szoktam :oops:
Ezzel van is olyan gondom, hogy néhány porton nem csak az established, related-et kéne engednem, hanem minden mást is, mert így ugrál a pingem. Erre van tudtommal a PREROUTING. Megoldható vele, hogy mind a 3 belső gép megkapja ezeket a csomagokat? Pl úgy, hogy broadcastra küldöm? Vagy ez nem szép dolog? Azért kéne mindháromra küldeni, mert változó, hogy melyik gép(ek)ről játszunk.[/quote:9e05dbccc9]A PREROUTING port forwardoláshoz használatos. Pl. ha egy tűzfal mögött van a web-szervered, akkor a tűzfal 80-as portját ezzel tudod átirányítani a webszerver 80-as portjára. A --state ESTABLISHED,RELATED arra való az általad kezdeményezett kapcsolatok csomagjait beengedje, így akadályozva meg hogy kívülről lehessen kapcsolatot kezdeményezni (persze az általad megnyitott portokon kívül).

Közben még agyaltam a dolgon és a következőre jutottam. Szerintem a probléma a következő:
- S14-en elindul az ADSL kapcsolat felépítése
- közben a rendszer betöltése folytatódik tovább
- S88-on betöltődnek a tűzfal szabályai, de az ADSL hitelesítés és IP cím átadás még nem zajlott le, így a tűzfal egy gyaníthatóan még nemlétező csatoló nem létező IP címére hivatkozik. Így érthető, miért nem működik.
Két megoldás lehet:
- a tűzfal szabályaiban csak csatolókra hivatkozol, nem IP címekre
- megvizsgálod, hogy létezik-e ppp0 csatoló és van-e érvényes IP címe, majd ezután futtatod a tűzfal szkriptet

szerintem a hiba itt van:
#$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

A MASQUERADE kulcsszo pont arra valo , hogy egy interface ipjet felvegye es ara csinalja meg a cimforditast, ha a $EXTIF=ppp0 akkor jo.

te mondd, tudsz angolul? szepen levan irva a file elejen....

[quote:1bcf3c427d]

# PPP users:
# ----------
# If you aren't already aware, the /etc/ppp/ip-up script is always run when
# a PPP connection comes up. Because of this, we can make the ruleset go and
# get the new PPP IP address and update the strong firewall ruleset.
#
# If the /etc/ppp/ip-up file already exists, you should edit it and add a line
# containing "/etc/rc.d/rc.firewall" near the end of the file.
#
# If you don't already have a /etc/ppp/ip-up sccript, you need to create the
# following link to run the /etc/rc.d/rc.firewall script.

[/quote:1bcf3c427d]

[quote:2bb5e15c5b="slinky"]te mondd, tudsz angolul? szepen levan irva a file elejen....

[quote:2bb5e15c5b]

# PPP users:
# ----------
# If you aren't already aware, the /etc/ppp/ip-up script is always run when
# a PPP connection comes up. Because of this, we can make the ruleset go and
# get the new PPP IP address and update the strong firewall ruleset.
#
# If the /etc/ppp/ip-up file already exists, you should edit it and add a line
# containing "/etc/rc.d/rc.firewall" near the end of the file.
#
# If you don't already have a /etc/ppp/ip-up sccript, you need to create the
# following link to run the /etc/rc.d/rc.firewall script.

[/quote:2bb5e15c5b][/quote:2bb5e15c5b]

Látod ezen én is szépen átsiklottam :? Ez a legegyszerűbb megoldás.

Sziasztok!

Maszkolással oldom meg az albérletben az internet szétosztását. Nincs is vele gond, azt leszámítva, hogy a tűzfalszkript bootoláskor rossz külső ip-t vesz fel. Ha belépek és lefuttatom a szkriptet újra akkor minden oké, csak indulásnál van gond. Valahogy késleltetnem kéne a szkript futását addig, míg nem veszi át jól az ip-t. Egyébként adsl-ről van szó és a ppp kapcsolat is már bootoláskor indul.

Azért fontos, hogy menjen magától, hogy bárki egy újraindítással konfigurálhasson mindent, ha gond van(szakad a ppp vagy csak egyszerűen nem fut éppen a szerver).

Szerintem a szkripted nem tökéletes. Minek kell bele ip? Miért nem jó az -i kapcsolóval való interfészre szűrés? Egyébként ipchains, vagy iptables? Betehetnéd ide a szkripted/konfigodat!

[quote:05d786627c="begin"]Szerintem a szkripted nem tökéletes. Minek kell bele ip? Miért nem jó az -i kapcsolóval való interfészre szűrés? Egyébként ipchains, vagy iptables? Betehetnéd ide a szkripted/konfigodat![/quote:05d786627c]
A szkript: http://www.ecst.csuchico.edu/~dranch/LINUX/ipmasq/examples/rc.firewall-2.4-stronger az $EXTIF esetemben ppp0
Az eth0-on van a belső háló, a ppp0 az eth1-gyel van kötve(nem tudom erre mi a szakszó, a lényeg, hogy ezt használon az internet elérésére).
Nem tudom, mi lehet még érdekes ebből a szempontból, ha kihagytam valamit, szólj!

erdemes ilyenkor az /etc/ppp/ip-up.d alatt elhelyezni a script(jeid)et/linke(ke)t ra(juk)

[quote:16d7409261="szipka"]szerintem a hiba itt van:
#$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
[/quote:16d7409261]
Bocs, de az a sor kommentben van.
[quote:16d7409261="begin"]A különbség a kettő között az, hogy a te szkripted >90%-a szemét, ami zavarossá teszi. Az iptables-save kimete pedig főként a szabályokat tartalmazza, ettől sokkal áttekinthetőbb. Az ip használattal kapcsolatban pedig Dr_Mac-nek teljesen igaza van, hogy kerülni kell.[/quote:16d7409261]
OK. Meg fogom csinálni rendesen. Csak kíváncsi voltam, hogy az rossz-e, ha valaki szkriptet használ, mert nekem könnyebben áttekinthetőnek, módosíthatónak tűnik.
[quote:16d7409261="Dr_Mac"]
Közben még agyaltam a dolgon és a következőre jutottam. Szerintem a probléma a következő:
- S14-en elindul az ADSL kapcsolat felépítése
- közben a rendszer betöltése folytatódik tovább
- S88-on betöltődnek a tűzfal szabályai, de az ADSL hitelesítés és IP cím átadás még nem zajlott le, így a tűzfal egy gyaníthatóan még nemlétező csatoló nem létező IP címére hivatkozik. Így érthető, miért nem működik.[/quote:16d7409261]
Pontosan ez volt a gond. Úgy látszik, kérdezni sem tudok rendesen. :(
[quote:16d7409261="slinky"]
te mondd, tudsz angolul? szepen levan irva a file elejen....[/quote:16d7409261]
:oops: Jogos. Igazából olvastam ezt is, de akkor még nem jött elő a probléma és most meg nem jutott eszembe, hogy ott a megoldás.

Mindenkinek köszönöm a segítséget!

Szörnyen néz ki! Én manuálisan (iptables -A ...) szoktam szoktam felvinni a szabályokat, nem generátor program használatával. Amikor elkészültem a dologgal, az [b:8367cee46f]/etc/init.d/iptables save active[/b:8367cee46f] paranccsal lementetem, ami a [i:8367cee46f]/var/lib/iptables[/i:8367cee46f] könyvtárba menti le active néven a szabályokat. Ez induláskor mindig automatikusan betöltődik.
Egyáltalán mire használod? Maszkolod a mögötte levő gépeket, ezen kívül valami van még valami? Valami portot nyitsz meg rajta?

Esetleg megpróbálhatod azt, hogy a tűzfal szkriptet csak azután futtatod le, miután a ppp kapcsolat már felépült. Tudom, hogy ez biztonsági szempontból nem túl szerencsés, de átmenetileg szerintem jó.
Mellesleg egyetértek [b:4d885ec015]begin[/b:4d885ec015] kollégával, a szkript szörnyű. Én is kézzel szoktam beállítani a szabályokat és úgy mentem le őket. IP címre még nem is nagyon volt szükségem csak akkor, ha specifikusan egy IP-re kellett valamilyen szabályt felállítani (tipikusan tiltást). Legtöbbször elég a csatolo nevét megadni (itt ppp0).