---
# System prepended metadata

title: Firewal

---

# Firewal

Строим инфруструктуру
LinuxFirewall
Switch
3x Linux машины

![](https://i.imgur.com/5r9fpAW.png)

Настраиваем сеть на linuxFW
ip a
![](https://i.imgur.com/zplEunj.png)
ens3 - интерфейс e0
ens4 - интерфейс e1

Отредактировать конфигурацию интерфейса
/etc/network/interfaces
Настроили интерфейс ens3 и ens4 (c сабинтерфейсами )
![](https://i.imgur.com/tXFVVl1.png)
Перезагрузили сервис Networking
service networking restart
![](https://i.imgur.com/8mRQvIu.png)

Переходи в настройку Switch
настраиваем интерфейсы
интерфейс e0/0 в trunk
интерфесы e0/0-3 в vlan 10-30
![](https://i.imgur.com/UxRspWb.png)
Настроим Roating в LinuxFW
Отредактировать sysctl.conf
Раскомментировать net.ipv4.ip_forward=1 (тем самым делаем из машины роутер)
![](https://i.imgur.com/xtc5r8k.png)
применили настройки sysctl -p

Переходим в настрйку Linux3
Так же настраиваем сеть интерфейс /etc/network/intefaces
Прописали статику на интерфейсе ens3 и gateway до нашего switch
![](https://i.imgur.com/Ff02cqL.png)
Пропингуем 192.168.10.254 чтобы убедиться что настроили все правильно.
Пакеты идут, соответсвенно все сделали правильно.
![](https://i.imgur.com/9yTKKAx.png)

Подключимся по SSH к нашему LinuxFW
![](https://i.imgur.com/uK9MHPY.png)
Делаем подмену адреса на интерфейсе e0
Прописываем правило для Iptables
"iptables -t nat -A POSTROUTING -o ens3 -j MASQUARADE"
Чтобы понять что выполнила это команда, для начала узнаем синтаксис работы этой команды и в целом Iptables

$ iptables -t таблица действие цепочка дополнительные_параметры
Основные действия, которые позволяет выполнить iptables:

    -A - добавить правило в цепочку;
    -С - проверить все правила;
    -D - удалить правило;
    -I - вставить правило с нужным номером;
    -L - вывести все правила в текущей цепочке;
    -S - вывести все правила;
    -F - очистить все правила;
    -N - создать цепочку;
    -X - удалить цепочку;
    -P - установить действие по умолчанию.
    
Дополнительные опции для правил:

    -p - указать протокол, один из tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp,
    mh;
    -s - указать ip адрес устройства-отправителя пакета;
    -d - указать ip адрес получателя;
    -i - входной сетевой интерфейс;
    -o - исходящий сетевой интерфейс;
    -j - выбрать действие, если правило подошло.
    
    POSTROUTING — для окончательной обработки исходящих пакетов
    MASQUARADE - часть NAT
    
Сделаем из Linux-Fw Firewall
Добавим к нашей инфруструктуре еще одну машину Linux-kali
![](https://i.imgur.com/SP5kXSc.png)
Тем самым с помощью этой машинки попытаемся подключиться к нашей инфруструктуре на машину Linux3
Заходим в Linux-ext
и пингуем две машины Linux-FW и Linux3(192.168.10.1/24)
![](https://i.imgur.com/HDEds5V.png)
Мы видим что маршрут до linux3 машины не проходит, нам нужно настроить нашу kali машину а точнее статический адрес.
ip route add 192.168.10.0/24 via 192.168.43.134
и пропингуем нашу linux3
Дальше мы подключемся через SSH на linux3
![](https://i.imgur.com/rRXCiz1.png)
Мы видим что подключение прошло успешно и с точки зрения безопасности это не очень хорошо.

Теперь наша задача создать периметр и прописать настройки чтобы из вне не было подключений к нашей инфруструктуре.
![](https://i.imgur.com/XJlM10g.png)
1) запрет трафика во внутрь периметра. Но из периметра трафик должен выходить.
iptabes A INPUT -i ens3 -j DROP
прописали в нашем ssh подключении на 192.168.43.134 и подлючаться из вне мы теперь не сможем, и наше подключение по ssh просто выключиться.
![](https://i.imgur.com/dA4qp4j.png)
Заходим на Linux-FW и там настраиваем iptables правило

iptables -A FORWARD -i ens3 -j DROP

пропишем еще одно правило 
iptables -A INPUT -i ens3 -m state --state ESTABLISHED,RELATED -j ACCEPT

Посмотрим какие правила у нас установлены
iptables -L -nv
![](https://i.imgur.com/hiGEFkE.png)
Видим что наше правило находиться во втором списке, необходимо сделать так чтобы оно было вверху.Как приоритетное.
iptables -I INPUT 1 -i ens3 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -L -nv --line-numbers
![](https://i.imgur.com/q39lpOE.png)
Мы сделали что было необходимо, но правило под номером 3 нам уже не нужно и мы его просто удаляем.
iptables -D INPUT 3
теперь надо прописать тоже правило только на FORWARD
iptables -I FORWARD 1 -i ens3 -m state --state ESTABLISHED,RELATED -j ACCEPT
Чтобы проверить что все было сконфигурировано правильно, пропингуем 8.8.8.8
![](https://i.imgur.com/MPOAowl.png)
проверили из вне можем ли мы подключиться к нашей инфруструктуре через ssh и машиной KALI. Если подключение и пинги не прошли, значит мы сделали все правильно.

Теперь стоит главный вопрос если к нашей инфруструктуре доступа нет и нам мешает наш Firewall, каким образом можно получить доступ.
Нам нужно прописать правило в нашем Firewall чтобы разрешить доступ по SSH по 22 порту.
iptables -I INPUT 2 -i ens3 -p tcp --dport 22 -j ACCEPT
Мы разрешили подключение по 22 порту.
![](https://i.imgur.com/5gbQa1C.png)
Чтобы все настройки сохранились нам необходимо поставить утилиту, т.к после reboot все настройки исчезнут.
apt install iptables-persistent
service netfilter-persistent save
все наши правила сохранились
cat /etc/iptables/rules.v4
![](https://i.imgur.com/BUzUMXD.png)

2) проброс портов

ens3:2222 ---> linux3:22
ens3:2223 ---> linux4:22
ens3:2224 ---> linux5:22

3) Перенаправление трафика
Изнутри при конекте на Linux-FW на 80 и 443й порты - перенаправлял на сайт hacker.pro. SNAT and DNAT.
Общался только с Linux-FW

