четверг, 21 июня 2012 г.

Настройка сетевого экрана Shorewall

Shorewall - файрволл работающий на правилах iptables.


Скачаем shorewall

sudo apt-get install shorewall

Редактируем конфигурационный файл

sudo nano /etc/shorewall/shorewall.conf:

STARTUP_ENABLED=Yes

Определим интерфейсы

sudo nano /etc/shorewall/interfaces

Интерефейс eth0 назовем int, а eth1 назовем loc и внесем запись вида:

int eth0 detect tcpflags,blacklist,routefilter,nosmurfs,logmartians
loc eth1 detect tcpflags,detectnets,nosmurfs


Определим зоны

sudo nano /etc/shorewall/zones

fw firewall # описывается сам шлюз
int ipv4 # все то что за этим интерфейсом
loc ipv4 # все то что за этим интерфейсом

Включим маскарадинг

sudo nano /etc/shorewall/masq

eth0 eth1 # все то, что за eth1 будет выходить во внешний мир под eth0
Включить перенаправление пакетов

sudo nano /etc/sysctl.conf.

Задать параметр значения для net.ipv4.ip_forward = 1

Определим политику

sudo nano /etc/shorewall/policy внесем:
#SOURCE DEST POLICY LOG
$FW int ACCEPT info #с фаервола на интернет разрешено
$FW loc ACCEPT info #с фаервола на локальную разрешено
int $FW REJECT info #с интернета на фаервол запрещено
int loc REJECT info #с интернета на локальную запрещено
loc int REJECT info #с локальной на интернет запрещено
loc $FW REJECT info #с локальной на фаервол запрещено

Определим правила

sudo nano /etc/shorewall/rules

DNS/ACCEPT loc $FW #Разрешить DNS с локальной сети на шлюз
SSH/ACCEPT loc $FW #Разрешить SSH(Порт 22 tcp) с локальной сети на шлюз
Ping/ACCEPT loc $FW #Разрешить PING с локальной сети на шлюз
Ping/ACCEPT int $FW #Разрешить PING с интернета на шлюз
ACCEPT loc $FW tcp 25 #Разрешить SMTP с локальной сети на шлюз
ACCEPT int $FW udp 21 #Разрешить FTP c интернета на шлюз
ACCEPT loc $FW udp 21 #Разрешить FTP с локальной c интернета на шлюз
ACCEPT loc $FW tcp 443,1352,10000 #Так можно указать несколько портов
ACCEPT loc $FW tcp 10000:20000 #Указывается диапазон открытых портов от 10000 до 20000
ACCEPT loc:192.168.1.110 int #Так мы открыли выход в интернет компьютеру локальной сети с IP адресом loc:192.168.1.110
ACCEPT loc:~12-AS-44-xx-xx-xx int #Так мы открыли выход в интернет компьютеру локальной сети c мак адресом loc:~12-AS-44-xx-xx-xx
ACCEPT loc:192.168.1.110 int:78.159.xx.xx udp 80 #Так мы открыли доступ локальному компьютеру только на адрес 78.159.xx.xx и только к 80 порту

Перекинуть порт

Если нам необходимо перекинуть порт с нашего внешнего IP адреса на IP локальной сети (например необходимо дать удаленный доступ к локальному компьютеру по RPD 5555порт)

sudo nano /etc/shorewall/rules

ACCEPT int loc:192.168.1.100 tcp 5555 #Разрешаем доступ с интернета на локальный компьютер 192.168.1.100 на 5555 порт.

sudo nano /etc/shorewall/startДописываем строку

iptables -t nat -A PREROUTING -p tcp -d 78.xx.xx.xx --dport 5555 -j DNAT --to-destination 192.168.1.100 # т.е. все то, что придет на IP 78.xx.xx.xx, протокол tcp и порт 5555 перенаправится на локальный компьютер 192.168.1.100


запуск shorewall.

/etc/init.d/shorewall start

Комментариев нет:

Отправить комментарий