tuzfalszabaly

Péter Tamás Tamas.Peter at netvisor.hu
2009. Már. 27., P, 12:15:32 CET


Ebből mazsolázhatsz. Ha változik a MAC lista, elég csak a MAC_FORWARD és MAC_REDIRECT láncokat újragenerálni.

A DNS-t mindig engedd át, mert ha a böngésző nem tudja a nevet feloldani, nem lesz http kérés, amit átirányíthatsz.

Célszerű egy dedikált apache (pl. 81-es porton), ami csak ezt a funkciót látja el. Meg persze a WEB szerveren arra is gondolni kell, hogy random URL-ként fog beesni a kérés, így az alábbi javasolt apache.conf alá:

ErrorDocument 404 http://[webserver_ip]:81/login.php
ErrorDocument 403 http://[webserver_ip]:81/login.php
ErrorDocument 402 http://[webserver_ip]:81/login.php

Üdv,
Tamás

---------

MAC_HOSTS=`/bin/cat /var/tmp/mac.list | /bin/sed -e 's/\n/ /g'`

iptables -N MAC_FORWARD
iptables -F MAC_FORWARD

for HOST in $MAC_HOSTS ; do
  iptables -A MAC_FORWARD -s $HOST -o $EXTERNAL -j ACCEPT
done

iptables -A MAC_FORWARD -p tcp \
       -m state --state RELATED,ESTABLISHED -j REJECT \
       --reject-with icmp-proto-unreachable

iptables -t nat -F MAC_REDIRECT
iptables -t nat -X MAC_REDIRECT
iptables -t nat -N MAC_REDIRECT

iptables -t nat -A MAC_REDIRECT -d $WEBSERVER -p tcp --dport 80 -j RETURN

for HOST in $MAC_HOSTS ; do
    iptables -t nat -A MAC_REDIRECT -m mac --mac-source $HOST -j RETURN
done

iptables -t nat -A MAC_REDIRECT \
    -p tcp --dport 80 -j DNAT --to-destination $WEBSERVER:81


iptables -A FORWARD -i $DMZ_IF -j MAC_FORWARD
iptables -A FORWARD -i $DMZ_IF -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i $DMZ_IF -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i $DMZ_IF -j DROP

iptables -t nat -A PREROUTING -i $DMZ_IF -p tcp --dport 80 -j MAC_REDIRECT

Üdv,
Tamás




További információk a(z) Techinfo levelezőlistáról