Сервис Captive Portal
Linux(Ubuntu)
root@gate:~# cat nat.sh
iptables -t nat --flush
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.X.0/24 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.X.1
iptables -t nat -I PREROUTING -i eth0 -s 192.168.X.10 -j ACCEPT
conntrack -F
FreeBSD
gate# cat /etc/pf.conf
rdr on em0 proto tcp from 192.168.X/24 to any port 80 -> 127.0.0.1 port 80
nat on em1 from 192.168.X/24 to any -> 172.16.1.X
Apache
# cat index.php
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8">
</HEAD>
<BODY>
Address of your computer: <?php echo $_SERVER['REMOTE_ADDR']; ?><br>
</BODY>
</HTML>