Nem. A gaz az, hogy nem tudom, pontosan milyen tuzfal beallitast kell eszkozolnom, hogy az IP_C fele kuldott csomagok valojaban IP_B fele hagyjak el a kulso kartyamat. B-)
Ezt probaltam, de nem jo:
/sbin/iptables -A PREROUTING -t nat -p tcp -d IP_C -j DNAT --to IP_B
Az a gáz, hogy te ilyet nem tudsz csinálni, te egy cél IP címet adsz meg, és slussz, ez pedig a netről látszó gép kell, hogy legyen, az meg valszeg nem lehet az IP_C, csak IP_B. Innen a te tudományod megáll, ezt meg egy síma nat-os masquerade-val te el is intézted...
A többi egyértelműen a túloldal feladata, de az ottani tűzfal meg elvben tud arról, hogy jön be egy VPN kapcsolat, és irányítgat...
Az a resze valszeg mukodik, mert masok hasznaljak, de en itthon egyelore nem tudom, hogyan kell beloni. Gondolom itthon is a nat tablat kell piszkalni.
Hát, ha a meg tudod adni a bejövő csomagok meghatározását, (pl fix IP cím, vagy fix port stb), akkor ezt meg lehet majd csinálni: te a gépedről az IP_B-t adod meg, és itt (magyarul a távoli gépen) kell egy csomag célcím fordítás IP_C-re, ez iptablessal megoldható. NB szerintem te a "sajat linux tuzfal"-on ezzel nem tudsz semmit csinálni, ez az IP_B gép dolga...
A nat táblába kell beírni a távoli gépen egy destination ip címfordítást...
Ez egy VPN-szeru behivas lenne egy ceghez, a tuloldal szamomra erinthetetlen. Nem lehet ezt a sajat oldalamon is 'siman' iptables-szel megoldani?
Kellene bele egy komplett cim forditas: megadom az IP_C-t, amirol tudnia kellene, hogy az IP_B-n at erheto el, stb. stb. Gondolom ilyesmit csak lehet...
Bar nem tudom mi a celod, de en feltennek egy rinetd nevu programot mindket tuzfalra (mar ha ezek (Linuxos) PCket jelentenek) ami altal a kovetkezo mukodest tartanam elkepzelhetonek
Az IP_A XXXXX portjat atiranyitod IP_B YYYYY portjata ami pedig at van iranyitva IP_C ZZZZZ portjara.
Nem sikerult rajonni a problema megoldasara, igy hozzatok fordulok. B;-)
Win2K gep - sajat linux tuzfal - internet - tavoli tuzfal - tavoli cel gep
Sajat linux tuzfal IP cime: IP_A
Tavoli tuzfal ip cime: IP_B
Tavoli cel gep cime: IP_C
Hogyan (masqueradinggal?) lehet megoldani, hogy ha a Win2K-s geprol meghivom az IP_C cimet, akkor az atjusson a sajat tuzfalon es eljusson az IP_B-s cimu gepig, ami mar bejuttat engem az IP_C cimu cel gephez?
Nincs veletlenul valakinek valami scriptje, mely eszlelve a portscannelest felhuzza a a tuzfalat. Vagy ha scannelest eszlel, akkor meghiv egy masik, "elore gyartot" scriptet, melyben en a tuzfalat aktivalom. Aztan egy ido utan levegye termeszetesen..:)
Szerintem a 8,4 Giga az inkább FAT körüli dolog, mert az asszem úgy jön ki, hogy max 4 partíció, és a VFAT max 2,1 GB. BIOS probléma a 30 Gigánál van, mert a régi BIOS-ok nem látják a 1024 cilinder feletti részt, kultúrált vincsiknél ez limitálható 1024-re (30 GB).
Olvastam már (egyébként az eredeti angol jobb, 1-2 dolgot furcsán fordítottak le), és van egy jobb is de az angolul van csak azt hiszem.
Mivel itthonról istennek sem akar menni a google - se a sourceforge ÷( - így nem tudom nektek a linkeket bevágni. Nyittok 1 google-t, aztán:
'iptables howto' - erre jön a szabilinuxor angol verziója
'iptables guide' - erre meg egy hosszabb, részletesebb leírás, jó klafa
Na majd még bütykölök rajta ha eszembe jut valami okos.
Iptables-el szeretnek csinalni egy tuzfalat, ugy kezdve hogy alapban minden tiltva van utana pedig engedelyezni sorban. Squid is mukodik a halozaton tehat ehhez kellene igazitani a tuzfalat. Ha valaki tudna kuldeni configot vagy valami jo otlete van ezzel kapcsolatban azt megkoszonnem.
És ha én teszek bele egy idevezérlőt, akkor azzal látom a nagy vinyókat? Ha jól tudom ez BIOS kérdés, de nem lenne baj ha nagy vinyót is bele tudnék tenni valahogy. (> 8.4 GB - erről még tudom hogy belemegy)
ON
Egyébként még mindig nem az igazi a dolog, itt a script, mondom a problémát:
iptables -A INPUT -j SMBmount # Samba mount
#iptables -A INPUT -j SMBshare # Samba share
A logika a következő:
1. Vannak alapservice-ek amik az INPUT elején vannak beállítva, pl DHCP, SMTP, web, stb.
2. Vannak user service-ek, amiket csak fix ipről lehet elérni, ezek vannak a userIPben felsorolva.
3. Vannak gépek amikről SMBmountolni akarok, ezek vannak a serverIPben felsorolva.
Ez utóbbiakat úgy érem el elvileg, hogy inputból meghívom az SMBmount láncot ami kinyitja a portokat, és elküldi a csomagot a serverIP-re IP-t ellenőrizni.
(Usereknek nem akarok egyelőre samba elérést adni, ezért az INPUTban a hasonló elven működő SMBshare lánc ki van kommentezve.)
Namost az a gond hogy minden további nélkül be tudok mountolni olyan smb megosztást ami nincs a serverIPben felsorolva. Hol a luk?
Azon a 20 modulon mar nem mulik semmi....
Nálam is hasonló vas megy, csak 48 mega RAMmal, és van benne egy RAID kártya, és 6 vincsi, valahol 200 GB körül :-)
És elfértek az iptables modulok.
Azért nem forgattam be, mert minden cafat hely és memória kincs! ÷)
Konfig:
P133 (mezei, mégcsak MMX sincs ÷)
32 MB RAM
1 db WD 420 MB vinyó /
1 db WD 250 MB vinyó, ebből 70 swap 180 /home
Itt olyan dolgok vannak ám hogy a /homeból forgatom a kernelt mert ott fér el a forrás, ottis ippencsak, majdnem elfoglalja az egész partíciót ÷D
Vashoz képest fut pár service rajta, apache, ftp, ssh, samba, mailman, webmin, exim, hogy csak a legfontosabbakat említsük. Majd valamikor lecserélem a vasat aztán lesz 1 baba szerverem, ezen most csak tanulok, meg mellesleg smbmount-tal tükrözök pár 100 giga filmet.... ÷)
mazohista :)))) miert nem forgattad be rogton az osszes ipv4 iptables cuccot modulba? az iptables scripted elejen meg kiadhattad volna az insmod-okat is...
Kösz, azóta énis bogozódtam, meg olvasgattam, meg írtam egy scriptet amit végül át is látok faszán. ÷)
Szal az a lényeg hogy külön rule-ok vannak a szerverekre (DHCP, Samba, stb, mindegyikre csak az a port nyitva ami kell), valamint a userek IP-i továbbra is külön chain-ben vannak, mert mindenki ugyanazokat a service-eket kapja, és egyszerűbb új júzernél csak az IP-jét beverni mint egy félméteres rule-t.
Az FTP-vel az a helyzet, hogy lipnek van igaza, a 21-es porton dumálják le hogy milyen porton akanak beszélni (X), majd attól függően hogy passzív vagy aktív ftp kapcsolat, így néz ki a dolog:
Ergo vagy csak aktív FTP-vel legyen hajlandó dolgozni az ember, vagy pedig a megoldás a connection tracking.
Pördítettem új kernelt hogy legyen benne conntrack is, és bevertem a megfelelő parancsot:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j userIP
Azaz fogadjunk el minden forgalmat ami már kétoldalról létrejött kapcsolathoz tartozik, és olyan IPről származik ami fel van sorolva a userIP chainben.
Mostmár csak az a gondom hogy a shell a "No chain/target/match by that name" hibaüzenettel tér vissza, márpedig a parancs eléggé hibátlannak tűnik nekem. ÷)
Szal megvan a gyógyír csak nem veszi be a gép valamiért. Ötlet?
probalom az iptables -n -L outputod visszaforditani iptables parancsokra, de nagyon taknyos vagyok, igy igen nehezen veszi be a szoke fejem. inkabb kerdezek.
aminek a
userIP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
az eredmenye, az
iptables -A INPUT -p TCP --dport 22 -j userIP
volt? ha igen, akkor en biztosan nem igy csinalnam. a userIP chainben minden egyes altalad valasztott IP-re csinalnak --dport szabalyt az osszes portra kulon-kulon. azaz mind a hat IP-re lenne kulon-kulon szabaly --dport 22, ill. --dport 20:21.
aztan folyamataban:
iptables -N userIP
iptables -A userIP -P TCP ... [sokszor a kul. portokra]
iptables -A input -p UDP -i eth0 -s 0/0 --source-port 53 -j ACCEPT
iptables -A INPUT -p TCP -i eth0 -j userIP
a szabalyokat az iptables a sorrend alapjan ertekeli ki. ez magyarazatot adhat arra, amit az (5)-ben irsz.
ha forditottal ipt_LOG modult, akkor minden egyes -j ACCEPT/DROP szabaly __ele__ (ennek a -j DROP eseten van jelenbtosege) irjal egy ugyanilyen tartalmu szabalyt -j LOG --log-level info --log-prefix "valami szabalyra utalo szoveg" formaban, akkor legalabb kiderul, hogy melyik szabaly dobja el a csomagot.
lehet kavarni a connection tracking-gel is. akkor a mar felepitett kapcsolatokat siman atengeded, es ezek szuresevel nem foglalkozol. ekkor eloszor eldobod azt, amit mindekkepn dobnal (pl. a bad packetek, atengeded a related (ez jatszik az ftp data packeteknel is) es established kapcsolatokat meg a synchronize packeteket, es szurod a maradekot.
btw, amire lip is celzott: ha kell a bejovo ssh kapcsolat, akkor nincs a masik oldalon scp (secure cp, resze az ssh csomagnak) is? mert akkor talan nem kell az ftp-vel is kuzdened, a 22-es port megoldja ezt a problemat is.
en a bootp-t udp sp:68 dpt:67-el engedelyeznem. es valszeg nem is kell mind a hat ip-edhez amit a userIP-ben felsoroltal. (ezt csak velelmezem, mert nem ismerem sem a te, sem az involvalt domainek viszonyait, de hogy a linux boxodrol bootp-vel szedne fel az ip cimet az ural2 a muegyetemen, egy bke-s es egy veszpremi gep is, sot meg ausztriabol is, az erosen meglepne...)
ha mar emlitetted: igy elsore azt sem ertem hol van engedelyezve a named (udp spt:53), ezert mutattam ra neked az elejen egy INPUT szabalyt.
tovabba az egesz nagyon szepen bonyolodhat, ha linux boxod egy firewall is egyuttal es nat-ot is kell adnod egy belso halonak, valamint dinamikus ip cimed van, amit dhcp-vel veszel fel. lehet, hogy en bonyolitom tul, sot paranoid is vagyok (ez egeszen biztos), de keveslem a szabalyaid. az viszont biztos, hogy felettebb csekelyertelmu es tudatlan vagyok: en speciel az iptables-t felepito script nelkul, csak ebbol az outputbol nehezen tudnam megjavitani a problemat.
remelem nem irtam tul nagy hulyesegeket es valamit tudtam segiteni.
Ha tisztán IP alapján szűrök (azaz az INPUT lánc elején elküldök mindent a userIP láncra) akkor minden megy. Szétolvastam a fejema logokban, már mindenhol portokat látok meg protokollokat, de olyat nem láttam hogy 20:21 porton kívül is akarna valamit használni. Szal 5letem sincs.
A kommunikáció csak a 20:21-en zajlik TCP-n, a name resolutionnal volt a gond. Tiszta IP-t megadva működik a dolog. Elfelejtettem kinyitni a name service portokat.
Nekem szerencsere nincs szuksegem ftp-re (scp ruley), de van a kernelben olyan a netfilter confignal, hogy "FTP protocol support", valamint allits be egy iptables ... -j LOG szabalyt minden lanc vegere, es akkor latod, hol akad el a cucc.