Miroslav Prýmek wrote:
On 28.1.2010, at 19:40, Miroslav Lachman wrote:
Miroslav Prýmek wrote:
[...]
Jenom pripominam, ze jsem mluvil o spojeni. ktere pochazi Z JAILU, takze
by melo prvne projit tap0 a potom fxp0 (kde se natuje).
V zaslanych pravidlech se neNATuje.
Omlovam se, vypadl mi tam jeden radek:
nat on $ext_if from !($ext_if) -> ($ext_if:0)
No to byl ale prave ten nejpodstatnejsi radek ;o)
Kazdopadne teda po trose laborovani:
[test:~]# pfctl -sr
No ALTQ support in kernel
ALTQ related functions disabled
block drop log all
pass in on fxp0 proto udp from any to any port = bootps keep state
pass in on fxp0 proto tcp from any to (fxp0) port = ssh flags S/SA keep state
pass out log on fxp0 all flags S/SA keep state
block drop log on lo1 all<------- abych si byl uplne jistej... je to zbytecny,
vim
Pokud bych chtel neco "s jistotou" blokovat, dal bych si spis na zacatek
block quick, ale to uz je vec vkusu...
[...]
To je v poradku, protoze vsechno na lo1 je blokovany, v logu se spravne objevi:
000884 rule 4/0(match): block out on lo1: 10.0.1.2.54472> 10.0.1.2.5555: tcp 40
[bad hdr length 0 - too short,< 20]
Jenze z jailu jsem ven mohl! A kdyz dam (mimo jail):
[test:~]# tcpdump -i lo1
...a v jailu:
[www-master:~]# telnet 74.125.87.99 80
Trying 74.125.87.99...
Connected to hb-in-f99.1e100.net.
...tak tcpdump nezobrazi VUBEC NIC. Znamena to teda, je jail PRICHOZI spojeni
jdou skutecne pres lo1, ale ODCHOZI pres fxp0
- teda stejne jako mimo-jail?! (takze nejde odlisit - pokud natuju - jestli
ODCHOZI spojeni pochazi z jailu nebo z ne-jailu?!)
Tady jsou totiz dva problemy zaroven, jak jsem linkoval odkaz na PF, tak
PF to nejprve prelozi - tedy uz na fxp0 se packety objevuji s lokalni IP
adresou 10.0.1.2, ktera je normalne nastavena ifconfigem na lo1. Druhy
problem je pak tusim v tcpdumpu, ktery pro "lo" nezobrazuje nic. Taky
jsem na to kdysi narazil a je to "normalni". Nejsem schopen to ten
dohledat, probiral jsem to na nejakem mailinglistu tak 2 roky zpatky.
Tohle by asi dokazal vysvetlit Dan Lukes, ale zas pokud vim, misto PF
pouziva IPFW (coz pro vysvetleni tcpdumpu a lo nevadi ;])
Takze abych to zkratil - tcpdump IMHO na lo1 nikdy nic neuvidi.
A pokud muzu doporucit, to filtrovani packetu do jailu neprovadet na
zaklade interface lo1, ale podle IP adres a pocitat s tim, ze co
prichazi (a NATuje se), to se povoluje na ext_if, ale s adresou jailu:
pass in on $ext_if inet proto tcp from any to $jail_addr_0 port
$jail_tcp_0_inports
A jeste poznamka, taky se pro nat i rdr da pouzit "pass" primo v tom
pravidle prekladu a nemusi byt pak samostatne uvadeno, lze tedy pouzit
treba:
nat pass on $ext_if from $jail_addr_0 to !$jail_addr_0 -> $ext_addr_0
rdr pass on $ext_if proto tcp from any to $ext_addr_0 port 8080 ->
$jail_addr_0 port 80
Mirek
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l