Настройка nat через iptables masquerade на debian (ubuntu)



Настройка nat через iptables masquerade на debian (ubuntu)         

Настройка простого nat

Для начала, хотелось бы рассказать, как организуется простой nat по средствам iptables masquerade (маскарадинга). Во всех linux подобных дистрибутивах, самый простой и удобный способ настроить nat, — это прописать пару строчек в iptables и включить форвардинг пакетов в настройках системы. Для debian и ubuntu это делается следующим образом: создадим файл /etc/firewall >/etc/firewall Дадим ему права на выполнение chmod +x /etc/firewall И пропишем настройки nat и forwarding этот файл mcedit /etc/firewall #!/bin/sh echo 1 > /proc/sys/net/ipv4/ip_forward # включаем форвардинг FW=/sbin/iptables # создадим переменную FW, чтобы каждый раз не писать /sbin/iptables # Очищаем все правила, цепочки и таблицу nat $FW -F $FW -F -t nat $FW -X # Присвоим переменную сети, которую будем натить NET="10.10.10.0/29" # Разрешим ей подключаться к шлюзу (не обязательно для nat) $FW -A INPUT -s $NET -j ACCEPT # Включаем nat по средствам iptables masquerade $FW -A FORWARD -s 0/0 -d $NET -j ACCEPT $FW -A FORWARD -d 0/0 -s $NET -j ACCEPT $FW -t nat -A POSTROUTING -s $NET -j MASQUERADE

Настройка нашего шлюза (iptables nat + балансировка iproute2)

Мы уже настроили все наши сети и VLAN в предыдущих статьях, теперь необходимо настроить скрипт с правилами iptables для nat с балансировкой нагрузки. Прежде всего, создадим файл /etc/firewall и дадим ему права на исполнение /etc/firewall chmod +x /etc/firewall Теперь впишем в него правила #!/bin/sh echo 1 > /proc/sys/net/ipv4/ip_forward # включаем форвардинг FW=/sbin/iptables #  создам переменную FW # Очищаем все правила, цепочки и таблицу nat $FW -F $FW -F -t nat $FW -X # Создадим переменные для сетей и интерфейсов P1="10.10.10.1" P2="10.10.11.2" # VLAN100="192.168.10.1" #  IT VLAN101="192.168.10.65" # Buh VLAN102="192.168.10.129" # Komotdel VLAN103="192.168.10.193" # Top management # NETs NET100="192.168.10.0/26" NET101="192.168.10.64/26" NET102="192.168.10.128/26" NET103="192.168.10.192/26" # Добавим интервалы пинга, чтобы нас не спамили мелкими пакетами # ICMP limit $FW -A INPUT -p icmp --icmp-type 8 -m limit --limit 3/s --limit-burst 10 -j ACCEPT                                                                                                 $FW -A INPUT -p icmp --icmp-type 11 -m limit --limit 3/s --limit-burst 10 -j ACCEPT #Разрешим доступ для себя $FW -A INPUT -s localhost -j ACCEPT # Натим наши внутренние сети через оба интерфейса в интернет #VLAN100 $FW -A FORWARD -s 0/0 -d $NET100 -j ACCEPT $FW -A FORWARD -d 0/0 -s $NET100 -j ACCEPT $FW -t nat -A POSTROUTING -s $NET100 -j MASQUERADE #VLAN101 $FW -A FORWARD -s 0/0 -d $NET101 -j ACCEPT $FW -A FORWARD -d 0/0 -s $NET101 -j ACCEPT $FW -t nat -A POSTROUTING -s $NET101 -j MASQUERADE #VLAN102 $FW -A FORWARD -s 0/0 -d $NET102 -j ACCEPT $FW -A FORWARD -d 0/0 -s $NET102 -j ACCEPT $FW -t nat -A POSTROUTING -s $NET102 -j MASQUERADE #VLAN103 $FW -A FORWARD -s 0/0 -d $NET103 -j ACCEPT $FW -A FORWARD -d 0/0 -s $NET103 -j ACCEPT $FW -t nat -A POSTROUTING -s $NET100 -j MASQUERADE # Разрешаем доступ по SSH $FW -A INPUT -p tcp --dport 22 -j ACCEPT # Закрывает все лишнее $FW -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT $FW -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT $FW -P FORWARD DROP $FW -P INPUT DROP Сохраняем изменения в файле и выполняем его /etc/firewall


http://www.lanlinux.ru/nastrojka-serverov/nastrojka-nat-cherez-iptables-masquerade-na-debian-ubuntu.html

Губарь Маргарита Александровна