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