Sziasztok,
FreeBSD-s pf-fel kapcsolatban merultek fel gondjaim. Van egy FreeBSD-s tuzfal es mogotte egy Debian szerver. Probaltam osszeallitani egy tuzfalat, ami a kovetkezoket tudja:
8800-as porton ssh, es 3128-ason squid. ssh kapcsolatot csak az _engip_-ben felsorolt ip-cimekrol lehet letesiteni, a _tiltott_-ip-ben levo cimek (minden sorban egy uj ip) teljesen tiltva vannak.
A Debianon fut ssh, apache, sftp, mysql es php. Idovel szeretnek mailszervert, de egyelore ezen szeretnek tuljutni.
Hogy ugy fogalmazzak, semmi nem mukodik eddig. Ha futtatok egy pfctl -nf /etc/pf.conf-ot, akkor az gond nelkul lefut, de n kapcsolo nelkul _lefagy_. Szal villog a kurzor, de nem tortenik semmi es nem kapom vissza a promptot. Ujra kapcsolatot kell letesitenem (tavoli geprol van szo). pf-et hibauzenet nelkul ujra tudom inditani.
Barmilyen geprol tudok ssh-zni, nem csak arrol, ami az engip-ben van. Addig meg nem jutottam, hogy a tiltottip-t is megprobaljam beuzemelni (kinai ip-cimek vannak benne kulonben felsorolva). Ha a honlapot akarom megtekinteni, akkor Problem loading page uzenetet kapok. A Debianrol nem tudok kifele pingelni.
ext_if = "rl0"
int_if = "dc0"
lan = "192.168.1.50/24"
table <tiltottip> persist file "/etc/tiltottip"
table <engip> file "/etc/engip"
nat pass on $ext_if from $lan to any -> ($ext_if)
rdr on $ext_if proto tcp from $lan to $ext_if port 80 -> $lan
set skip on lo0
block in all
block out all
pass out quick on $int_if all
pass in on $int_if all #ez uj sor
pass out quick on $ext_if proto tcp from any to any keep state
pass out quick on $ext_if proto udp from any to any keep state
pass in inet proto tcp from <engip> to any port 8800
pass proto tcp from any to $lan port 80 flags S/SA synproxy state
Minden javaslatot szivesen vennek. Nem akarom, hogy akarki is elkeszitse nekem a beallitofajlt, csak nem ertem miert nem tudom betolteni a fentit s miert nincs hibauzenet.
Megkoszonnem a segitseget
Dani
- 1105 megtekintés
Hozzászólások
Toroltem a quick-eket egyelore, most ok az ssh.
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
A kapuatiranyitassal mi a gond? Ha meg akarom tekinteni a honlapot, ugy tesz, mintha toltene (az allapotsorban connecting to...-nal tovabb nem jut).
Ami leirast talaltam, ott ezek a nat es rdr sorok voltak.
D.
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
Valaki?
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
A szabalyokat igy ismeri fel:
# pfctl -sn
nat pass on rl0 inet from 192.168.1.0/24 to any -> (rl0) round-robin
rdr on rl0 inet proto tcp from any to 157.181.233.239 port = http -> 192.168.1.50 port 80
# pfctl -sr
block drop in all
block drop out all
pass on dc0 all flags S/SA keep state
pass out on rl0 proto tcp all flags S/SA keep state
pass out on rl0 proto udp all keep state
pass in inet proto tcp from <engip> to any port = ssh flags S/SA keep state
pass inet proto tcp from any to 192.168.1.0/24 port = http flags S/SA synproxy state
A tuzfalrol nem tudok pingelni: operation not permitted. Ha leallitom a pf-t, megy rendesen. A Debian geprol mostmar tudok pingelni, a csomagok atjutnak a tuzfalon.
szerk: a pingeles megoldodott: tcp es udp protokollok mellett engedelyeztem az icmp-t is. Viszont a kaputovabbitas tovabbra sem muxik.
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
Ha "kaputovábbítás" alatt a portforwardre gondolsz:
rdr pass on $ext_if proto tcp from any to $ext_if port 80 -> $debian_ip port 80
Ja, és az ICMP-t meg engedélyezni kell.
It doesn't matter if you like my song as long as you can hear me sing
- A hozzászóláshoz be kell jelentkezni
Ja, és:
block in quick on $ext_if inet proto tcp from !<engip> to ($ext_if) port 8800
vagy
pass in quick on $ext_if inet proto tcp from <engip> to ($ext_if) port 8800
Emellett érdemes a state-eknek is utánaolvasni (keep state etc.)
It doesn't matter if you like my song as long as you can hear me sing
- A hozzászóláshoz be kell jelentkezni
Koszi a valaszt. Megcsinaltam amiket irtal, de erre az tortent, hogy nem tudtam utana ssh kapcsolatot letesiteni, sem pingelni a gepet. Bementem, visszaallitottam az utolso konfigfajlt, majd tavoli geprol ujra raneztem. Logoltatni akartam, hogy mit blokkol a tuzfal, ezert atallitottam a block all-t block log all-ra. Miutan betoltottem az uj beallitofajlt, megint az tortent, hogy nem tudok ssh kapcsolatot letesiteni es pingelni sem tudom a gepet.
Valahol mashol gyanitom a hibat mint a pf konfigfajlja, de egyelore fogalmam sincs merre induljak el.
Ha esetleg van valakinek tippje, nagyon megkoszonnem.
D.
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
Senki? :(
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni