Назад | Перейти на главную страницу

iptables: отключить NAT, кроме одного клиента

У меня есть подсеть LTSP (192.168.0.0/24), и я хочу отключить NAT для всех клиентов, кроме одного.

Цель состоит в том, чтобы запретить (по запросу) доступ к Интернету от клиентов-учеников, но всегда разрешать его от уникального клиента-учителя.

IP клиента, используемого учителем, всегда один и тот же: 192.168.0.253

Подсеть LTSP подключена к eth1, в то время как Интернет исходит от eth0 (этот сетевой адаптер подключен к маршрутизатору, расположенному между LAN: 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
}

Интересно, как я могу реализовать то, что хочу, с помощью этого скрипта.

заранее спасибо

Просто замените $NETWORK_TO_NAT с IP-адресом клиента, которому вы хотите NAT.