[zorp-hu] x-forwarded-for
Kálmánczi Sándor
csiga at nincs.net
2012. Nov. 9., P, 11:07:03 CET
Üdvözlet!
Nagy örömmel olvastem az IPTABLESes levelet, nagy várakozásal vagyok ez
ügyben. Sajnos nem volt ido"m foglalkozni mostanában nagyon ezzel, mert
itt megkezdo"dött az évvégi hajtás. Jól. :(
De!
Meglestem a dolgot.
Ez alapján csináltam is egy olyat, hogy:
Vagy egy zorp amiben egy dummy0 interfacen fut egy webszerver:
iptables
# Generated by iptables-save v1.4.14 on Fri Nov 9 10:54:37 2012
*filter
:INPUT ACCEPT [12630:1064741]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [30302:5576360]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -m mark --mark 0x80000000/0x80000000 -j ACCEPT
-A OUTPUT -m mark --mark 0x80000000/0x80000000 -j ACCEPT
COMMIT
# Completed on Fri Nov 9 10:54:37 2012
# Generated by iptables-save v1.4.14 on Fri Nov 9 10:54:37 2012
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [55883:34402514]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [30302:5576360]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -m socket --transparent -j MARK --set-xmark
0x80000000/0x80000000
-A PREROUTING -j KZORP --tproxy-mark 0x80000000/0x80000000
-A FORWARD -j KZORP --tproxy-mark 0x80000000/0x80000000
-A POSTROUTING -j KZORP --tproxy-mark 0x80000000/0x80000000
COMMIT
# Completed on Fri Nov 9 10:54:37 2012
policy.py
from Zorp.Core import *
from Zorp.Http import *
from Zorp.Proxy import *
InetZone('internet', ['0.0.0.0/0'],
outbound_services=[
"inetnetnet_HTTP_login0-localcahe"])
InetZone('login0', ['1.1.1.1/32'])
InetZone('login0-localcache', ['172.16.101.254/32'],
inbound_services=[
"inetnetnet_HTTP_login0-localcahe"],
admin_parent='login0')
NATPolicy(name="inetnet_2_login0-localcache",
nat=GeneralNAT(mapping=((InetDomain(addr="0.0.0.0/0"),
InetDomain(addr="1.1.1.1/32"), InetDomain(addr="172.16.101.254/32")),)))
def http() :
Service(name="inetnetnet_HTTP_login0-localcahe",
router=TransparentRouter(forced_port=0, forge_addr=FALSE,
forge_port=Z_PORT_ANY, overrideable=FALSE), chainer=ConnectChainer(),
max_instances=0, proxy_class=HttpProxy,
dnat_policy="inetnet_2_login0-localcache")
Dispatcher(transparent=FALSE, bindto=DBIface(protocol=ZD_PROTO_TCP,
family=2, iface="eth0", ip="1.1.1.1", port=80),
service="inetnetnet_HTTP_login0-localcahe", rule_port="80")
Ez így müködik is és megjelenik a weboldal a kíváncsiskodó számára, de
az látszik a logban, hogy a kérelem a 172.16.101.254.ro"l érkezik.
Akkor sem látszik az eredeti IP, ha a webszerveren a logolásnál figyelek
a varnish x-forwarded-for-ra.
172.16.101.254 - - [09/Nov/2012:11:01:54 +0100] "GET
http://example.com/sites/all/themes/bordo/images/backtotop-arrow-dark.png HTTP/1.1"
304 0 "http://example.com/sites/all/themes/bordo/style.css?md27b0"
"Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0
Iceweasel/16.0.2"
Akad esetleg egy mento" ötlet?
Köszönöm!
Tisztelettel:
Cs
--------- következõ rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://lists.balabit.hu/pipermail/zorp-hu/attachments/20121109/2a2c1ac5/attachment.htm
További információk a(z) zorp-hu levelezőlistáról