Настройка IPTABLES и NAT в Ubuntu Server
Данная статья может пригодиться тем кому нужно настроить интернет через шлюз на Ubuntu.
Итак для начала нужно определиться что мы будем делать:
- Настроим доступ в интернет всем компьютерам локальной сети
- Пробросим порты на отдельные компьютеры
Что у нас есть
eth0 — интернет
eth1 — локальная сеть
Для начала нам нужно создать файл /etc/firewall.sh
Нужно сделать его исполняемым
sudo chmod +x /etc/firewall.sh |
Открываем его любым удобным редактором
sudo nano /etc/firewall.sh |
И вносим в него следующие строки:
#!/bin/sh iptables -F // сброс всех настроек iptables -t nat -F // сброс настроек NAT sysctl -w net.ipv4.ip_forward="1" // переброска пакетов между сетевыми интерфейсами разрешена
Маскарад iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE // Куда перебрасывать пакеты из локальной сети
Закрытие/открытие портов iptables -t filter -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT // Открытие входящего порта 21 на eth0 // Так же есть DROP // Возможно использование без интерфейса
Проброс портов iptables -t nat -A PREROUTING -p tcp --dport 21 -i eth0 -j DNAT --to 192.168.1.2 // Переброс порта 21 с интерфейса eth0 на IP в локальной сети 192.168.1.2 |
Теперь чтобы все это дело не приходилось руками запускать при каждом запуске компьютера добавим строчку в файл
/etc/rc.local:
/etc/firewall.sh |
Проверяем, перезапускаем.