Примеры настройки firewall

Прежде чем переходить к примерам, следует обратить внимание на принцип работы правил:

  1. правила применяются сверху вниз - т.е. как только срабатывает какое-то правило, то следующие не применяются - например у вас сработало правило, дропающее трафик, а следом идёт разрешающее, тогда разрешающее правило не сработает и наоборот, если у вас сработало разрешающее правило, а следом идёт запрещающее, то уже не сработает запретительное правило.
  2. в конце списка существует невидимое правило - запретить всё для входящего трафика
  3. из второго пункта вытекает, что при пустом списке правил, у вас весь входящий трафик запрещён - это можно наблюдать на всех новосозданных интерфесах, кроме LAN (по умолчанию OPNsense определает 2 интерфейса с преднастроем - WAN и LAN) - там есть разрешающее правило на входящий трафик. По умолчанию входящий трафик запрещён также на внешнем интерфейсе (WAN) - список там пустой
  4. По мимо правил в разделе firewall есть дополнительная блокировка для privet и boggon сетей на самих интерфейсах, данная блокировка включена по умолчанию на интерфейсе WAN

    Для этого переходим в наш интерфейс в firewall и добавляем новое правило, собственно оно по умолчанию будет разрешающем для всего входящего трафика image alt text image alt text image alt text image alt text После сохранения получим следующую картинку: image alt text image alt text Не забываем применить наши новые правила, пока не нажали кнопку Apply changes будут применяться старые правила!!!!

    Также, как и в прошлом примере добавляем наше правило, но уже выбираем там в протоколе нужный нам (у нас tcp) и в destination port range выбираем нужный нам порт image alt text image alt text После сохранения получим следующую картинку: image alt text image alt text Не забываем применить наши новые правила, пока не нажали кнопку Apply changes будут применяться старые правила!!!!

    Добавляем новое правило и выбираем в Source нужную нам сеть, остальное оставляем без изменений image alt text image alt text После сохранения получим следующую картинку: image alt text image alt text Не забываем применить наши новые правила, пока не нажали кнопку Apply changes будут применяться старые правила!!!!

    Добавляем новое правило и выбираем в Source Single host or Network, появляется поле с возможностью ввести адрес и выбрать маску, если нам нужен только 1 хост, то маску выбираем 32,остальное оставляем без изменений image alt text image alt text После сохранения получим следующую картинку: image alt text image alt text Не забываем применить наши новые правила, пока не нажали кнопку Apply changes будут применяться старые правила!!!!

    Добавляем новое правило, далее выбираем в Source нужную нам сеть и ставим галочку Source/invert - т.е. у нас будет всё, крое выбранной нами сети image alt text image alt text После сохранения получим следующую картинку: image alt text image alt text Не забываем применить наши новые правила, пока не нажали кнопку Apply changes будут применяться старые правила!!!!

    Алиасы нужны, чтобы проще описывать правила файрвола и читать их, с помощью них можно одним именем обозначить сразу несколько сетей, хостов, и в дальнейшем писать меньшее количество правил, а значит упрощать себе жизнь в последующем редактировании и понимании правил firewall

    Описание Алиасов происходит в Firewall->Aliases image alt text image alt text Нажимаем + и добавляем свой алиас image alt text image alt text В полях указываем название, тип (хост, сеть или др), в поле Content добавляем через запятую свои хосты/сети, в качестве контента могут выступать и другие алисы: image alt text image alt text После сохранения алиса незабываем применить настройки:

    Добавляем новое правило и выбираем в Sources нужный нам алиас: image alt text image alt text После сохранения получим следующую картинку: image alt text image alt text Не забываем применить наши новые правила, пока не нажали кнопку Apply changes будут применяться старые правила!!!!

    Данный пример следует отнести сразу к 3 настройкам:

    • трансляции порта, прослушиваемого на одном интерфейсе и по какому-то адресу
    • открытие порта на этом интерфейсе
    • в случае если ваша внешняя сеть подпадает под алиасы private и boggon, то ещё отключить блокировку этих сетей на интерфейса WAN в его настройках Рассмотрим шаблонный, практически стандартный пример - есть роутер, который смотрит во внешний мир один интерфейсом - например WAN и другим во внутреннюю сеть - например SRV_KRD: image alt text image alt text Внешний адрес на интерфейсе: 100.10.99.100 Внутренний адрес сервера: 192.168.1.2 Будем пробрасывать порт 8080 по протоколу tcp для внешнего мира на порт 80 внутреннего сервера - т.е. всё, что приходит на адрес 100.10.99.100 из внешнего мира по порту 8080, будет попадать на порт 80 сервера из внутренней сети с адресом 192.168.1.2 Переходим в Firewall->NAT-PortForward и добавляем правило (нажимаем +): image alt text image alt text Далее в открывшемся окне выбираем нужный интерфейс (в нашем случае WAN), протокол - TCP, Destination - Single host or Network и в поле ниже вбиваем адрес нашего внешнего ip адреса 100.10.99.100, ниже в Destination port range выбираем other и появившееся ниже поле вбиваем наш порт 8080, в поле рядом тоже записываем 8080. image alt text image alt text В поле Redirect target IP выбираем Single host or Network и на нижней строчке вбиваем ip-адрес нашего внутреннего сервера - 192.168.1.2. В поле Redirect target port выбираем other и чуть ниже вбиваем номер нашего порта image alt text image alt text Далее сохраняем это правило и получаем следующий результат: image alt text image alt text Не забываем применить наши новые правила, пока не нажали кнопку Apply changes будут применяться старые правила!!!!

    Далее идём в Firewall->Rules-WAN Видим там автоматически неправильно добавленное правило, его можно не трогать, добавляем своё новое правило (нажимаем +): image alt text image alt text Тут выбираем разрешающее правило для нашего порта - протокол tcp, Destination - можно оставить any, но более правильно выбрать наш адрес для сети WAN, или вообще создать алиас и выбрать его, на картинке выбрано Any - более свободно. Destination port range - other и ниже выбиваем наш порт, на который приходит внешний трафик - 8080: image alt text image alt text В итоге получаем вот такое: image alt text image alt text Не забываем применить наши новые правила, пока не нажали кнопку Apply changes будут применяться старые правила!!!!