portail_captif: disclaimer http sur vlan 10

Cela fait popper une page web (proxy transparent) sur laquelle les clients
CROUS sont invités à venir adhérer. Ils peuvent néanmoins continuer à naviguer
en cliquant sur un lien qui rajoute leur IP à une liste d'IP whitelistées
du firewall.
Penser à désactiver le keep-alive du serveur web/proxy (nginx) car sinon, on
constate des trucs marrants. (Normal, le -j DNAT n'a d'effet que lors
de l'établissement de la connexion).

PS: détabification massive du fichier portail_captif.py (pardon aux familles)
This commit is contained in:
Daniel STAN 2014-03-10 09:33:18 +01:00
parent b843c80153
commit b86aca109f
3 changed files with 161 additions and 122 deletions

View file

@ -15,10 +15,21 @@ iptables -t mangle -F
ip6tables -t mangle -F
ip6tables -F
iptables -t raw -A PREROUTING -d 224.0.0.0/4 -j DROP
# On log les les paquets
iptables -t mangle -A PREROUTING -i eth1 -m state --state NEW -j LOG --log-prefix "LOG_ALL "
iptables -t mangle -A PREROUTING -i eth0 -m state --state NEW -j LOG --log-prefix "LOG_ALL "
# <Portail captif>
ipset -q create allowed_guests bitmap:ip range 10.231.137.0/24 || ipset flush allowed_guests
iptables -t nat -N CAPTIF 2> /dev/null || iptables -t nat -F CAPTIF
#iptables -t nat -A PREROUTING --src 10.231.137.189 -j CAPTIF
iptables -t nat -A PREROUTING -j CAPTIF
iptables -t nat -A CAPTIF -p tcp --dport 80 -m set \! --match-set allowed_guests src -j DNAT --to-destination 10.231.137.1
iptables -t nat -A CAPTIF -j RETURN
# </Portail captif>
# On nat l'ipv4
iptables -t nat -A POSTROUTING -j MASQUERADE
@ -53,4 +64,4 @@ echo 1 > /proc/sys/net/ipv4/conf/eth0/forwarding
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
# On lance radvd
/etc/init.d/radvd start
#/etc/init.d/radvd start

View file

@ -0,0 +1,6 @@
#!/bin/bash
#echo "$1" | grep -q "^\([0-9]\)*\.\([0-9]\)*\.\([0-9]\)*\.\([0-9]\)*$" || exit 42
echo "$1" | grep -q "^10\.231\.137\.\([0-9]\)*$" || exit 42
/usr/sbin/ipset add allowed_guests $1