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
Скачаем 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
Комментариев нет:
Отправить комментарий