Текущая страница: ГлавнаяНастройка сервера → Базовая настройка сетевых интерфейсов

Базовая настройка сетевых интерфейсов

Простейшие примеры настройки сети в linux и базовая конфигурация iptables.
Если у вас несколько ip адресов сначала конфигурируем сеть
Файл настроек /etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address IP1
netmask 255.255.255.0
gateway IP-GATE
auto eth0:0
iface eth0:0 inet static
address IP2
netmask 255.255.255.255
auto eth0:1
iface eth0:1 inet static
address IP2
netmask 255.255.255.255

Устанавливаем правила iptables. Создаем файл, назовем его firewall:/etc/init.d/fireawall

#!/bin/bash
#openvpn
PRIVATE=192.168.10.0/24
LOOP=127.0.0.1
IP1=IP_INTERNAL
OUT_IP_PRIVATE=$IP1
EIF=eth0
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
#запрет прямого доступа к MySQL и  Back-End Apache (у меня порт 8180)
iptables -I INPUT -p tcp -m multiport --dport 3306,8180 -s 127.0.0.1 -j ACCEPT
iptables -I INPUT -p tcp -m multiport --dport 3306,8180 -j DROP
#samba
iptables -A INPUT -p udp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p udp --dport 445 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
#openvpn
iptables -A INPUT -p tcp --dport 1200 -j ACCEPT
#Allow packets from private subnets
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
#Masquerade local subnet
iptables -t nat -A POSTROUTING -d $PRIVATE  -j MASQUERADE
#output ip
iptables -t nat -A POSTROUTING -s $PRIVATE -j SNAT --to-source $OUT_IP_PRIVATE
iptables -A FORWARD -d $PRIVATE -m state --state ESTABLISHED,RELATED -j ACCEPT

Небольшие пояснения:
Когда есть несколько ip адресов имеет смысл указать через какой интерфейс пакеты от впн-клиентов пойдут во внешний мир, это мы делаем в секции #output ip
Перед тем, как ставить скрипт в автозагрузку, запустите и проверьте его работу, в случае ошибки вы можете потерять удаленный доступ к системе. Все новые правила лучше сначала для тестирования запускать в другом файле.
Далее делаем скрипт исполняемым и устанавливаем запуск этого скрипта при запуске системы.

chmod +x /etc/init.d/firewall
update-rc.d firewall defaults 95

Удаление скрипта из автозагрузки

update-rc.d firewall remove

Вообще iptables очень гибкий инструмент, с помощью которого можно выполнять массу действий. Например Ограничение доступа к SSH через iptables.

Добавить комментарий