Шлюз на FreeBSD Делаем шлюз с NAT на FreeBSD 11 IPFW

Всем привет!
Небольшая заметка о настройке шлюза на FreeBSD с NAT.
Более 10 лет использую FreeBSD в различных инсталляциях, как правило в 90% случая использую FreeBSD как шлюз, начиная с версии 4.11.
В данный момент для себя решил, что проще и возможно дешевле использовать шлюзом готовые решения такие как MikroTik.
В таком решение есть как плюсы, так и минусы.
Но это все не по теме:)Итак, дано:

  1. FreeBSD 11.2-RELEASE-p3
  2. Сетевой интерфейс em0 IP 4.4.4.4 – смотрит в мир (WAN)
  3. Сетевой интерфейс em1 IP 192.168.33.1 – смотрит в локальную сеть (LAN)

Если вы имеете реальную сеть смаршрутизировунную провайдером на вашем WAN интерфейсе, то сделать шлюзом FreeBSD очень просто, достаточно добавить в /etc/rc.conf запись об этом:

И перезагрузить сервер, либо применить настройки на лету с помощью sysctl

На клиентах указываем шлюзом наш LAN интерфейс (только он у нас будет не с адресом BOGON сети, а с реальным) и пакеты начинают идти.
Но в 90% мы имеем сеть с /29 (255.255.255.248) маской с доступными 5 адресами (откидываем бродкаст адрес и адрес шлюза), поэтому нам остается только NAT
Пишем:

Для того, чтобы не потерять доступ к машине при конфигурировании IPFW (можно по другому, но в моем случае оно не работает, дальше увидите почему)

Добавляем скрипт с правилами FireWall (IPFW):

Делаем его исполняемым:

Если есть физический доступ к консоли, то запускаем:

Если сделаете так удаленно, то потеряете доступ к серверу, т.к. запрещающее default правило IPFW сработает самым первым и отрубит вам доступ, в реальном времени не получится сделать команду для изменения поведения IPFW с Deny all на Allow all:

Поэтому перезагружаем сервер должно все работать, команда ipfw show покажет вам счетчики правил.
P.S. это сырой пример, firewall открыт для всех и всего, перед эксплуатацией обязательно дополните конфиг (/etc/fw.sh) нужными вам правилами, последней строкой должна быть команда запрещающая все и всем deny log ip from any to any!

 

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

avatar
1 Цепочка комментария
0 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
1 Авторы комментариев
Павел Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о
Павел
Гость
Павел

firewall_enable= “YES”
firewall_type= “OPEN”
firewall_nat_enable= “YES”
firewall_nat_interface= “em0”