iptables: отключить NAT за исключением только одного клиента
У меня есть подсеть LTSP (192.168.0.0/24) и я хочу отключить NAT для каждого клиента, кроме одного клиента
Цель состоит в том, чтобы запретить (по требованию) доступ к Интернету от студентов-студентов, но всегда разрешать его от уникального клиента-преподавателя.
IP-адрес клиента, используемый учителем, всегда один и тот же: 192.168.0.253
Подсеть LTSP подключена к eth1, а интернет - из eth0 (этот сетевой адаптер подключен к маршрутизатору, расположенному между локальной сетью: 10.0.0.0/8 и школьной магистралью WAN: 172.16.0.0/12).
В моем дистрибутиве (debian-edu) есть скрипт /etc/init.d с именем enable-nat, который я бы использовал для этой цели.
В основном он использует две функции:
Когда услуга СТАРТ:
do_start()
{
/sbin/iptables -t nat -A POSTROUTING -s $NETWORK_TO_NAT -o $OUTSIDE_IF -j MASQUERADE
}
Когда служба СТОП:
do_stop()
{
/sbin/iptables -F -t nat
}
Было интересно, как я могу реализовать то, что я хочу, используя этот скрипт.
заранее спасибо
1 ответ
Просто замени $NETWORK_TO_NAT
с IP-адресом клиента вы хотите NAT.