ssl http server za nat-om?

msk.conf msk.conf na seznam.cz
Středa Březen 28 13:04:43 CEST 2007


DD.

Rozchodil som si virtualny stroj ( ip 2.2.2.2 ) na hostovi s verejnou ip ( 
1.1.1.1 ).

Na tom virtualnom stroji mi bezi tinyhttpd server na porte 8887 a serviruje mi 
pokusny web. Ten som este obalil pomocou stunnel4 do ssl na port 8888.

stunnel4.conf:
	...
	[https]
	accept  = 8888
	connect = 8887
	...


Pomocou pravidiel firewallu ( pre jednoduchost pouzivam firehol, ale rozpisal 
som parametre iptables, co vygeneruje ) som presmeroval prichadzajuci traffic 
z internetu na 1.1.1.1, tcp port 8887 a 8888 na ten virtualny stroj ( 
2.2.2.2 ).

	Firehol:
	# Command  : nat to-destination 2.2.2.2 proto tcp dport 8887 dst 1.1.1.1
	/sbin/iptables -t nat -N nat.1
	/sbin/iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 --dport 8887 -j nat.1
	/sbin/iptables -t nat -A nat.1 -p tcp -j DNAT --to-destination 2.2.2.2

	# Command  : nat to-destination 2.2.2.2 proto tcp dport 8888 dst 1.1.1.1
	/sbin/iptables -t nat -N nat.1
	/sbin/iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 --dport 8888 -j nat.1
	/sbin/iptables -t nat -A nat.1 -p tcp -j DNAT --to-destination 2.2.2.2




Z vonku sa na http://1.1.1.1:8887 dostanem, ale na https://1.1.1.1:8888 
dostavam "Could not connect to host 1.1.1.1 (port 8888)". Pritom na tom porte 
niekto evidentne nacuva, skusal som to telnetom ( po prvom odoslanom riadku 
sa spojenie zavrie ( openssl mi asi nerozumie :o) ) ). V ramci toho 
virtualneho stroja https://2.2.2.2:8888 chodi normalne.

Tusi niekto, cim by to mohlo byt? Ma ssl nejake specifika v NAT-ovanom 
prostredi? Povodne som sa na to chcel pozriet wiresharkom, ale asi toho vela 
nezistim, kedze sa jedna o sifrovane spojenie...


Dik za rady.


-- 
Dusan



Další informace o konferenci Linux