Почему–то Google частенько отсылает людей, спрашивающих о том, как закрыть и открыть порты во FreeBSD, на мой сайт. Хотя ничего такого здесь нет. Поэтому я решил исправить ситуацию и написать небольшую заметку о том, как всё–таки закрыть и открыть порты во FreeBSD. :)
Итак, возьмём FreeBSD и начнём её мучить откроем конфигурацию файервола. Лично я пользуюсь IPFW, о нём и расскажу. Но для других файерволов логика действий будет аналогичной, а вот синтаксис — наверняка другим.
Для начала разберёмся, что именно нам нужно сделать с портом. Возможно три ситуации: файервол блокирует весь трафик, файервол пропускает весь трафик и файервол настроен правильно. Если весь трафик блокируется, то вам скорее всего нужно открыть порт, если весь трафик пропускается, то вам вероятно нужно закрыть порт, а если файервол всё–таки настроен, то вам виднее, что вам нужно. Посмотреть текущее состояние файервола можно командой:
- ipfw show
Когда мы разобрались с текущей настройкой файервола, можно приступать к её модификации. Заблокируем, пожалуй, 21–й порт:
- ipfw add 12345 deny all from any to me 22
О нет! Я заблокировал 22–й порт вместо 21–го! Что же делать? А нужно всего–лишь удалить неправильное правило, и создать правильное:
- ipfw delete 12345
- ipfw add 12345 allow all from any to me 21
Чёрт! Опять косяк! Вместо того, чтобы порт закрыть, я его открыл. :( А ну и фиг с ним!
А теперь подробнее о синтаксисе:
- «ipfw» — наш файервол.
- «add», «delete» — добавление и удаление правила, соответственно.
- «12345» — это номер правила. Вы должны чётко понимать какой номер должен быть у правила, поскольку файервол все правила выполняет последовательно по возрастанию номеров правил;
- «allow», «deny» — разрешить, запретить — собственно, чего мы хотим добиться;
- «all» — то, что регламентирует данное правило, в данном случае — все протоколы. Вместо «all» можно использовать синоним «ip» или другой протокол — «tcp», «udp»;
- «from any to me» — направление трафика, в данном случае имеется ввиду входящий трафик отовсюду. «from me to any» — любой исходящий трафик. Вместо «any» и «me» можно указывать адреса.
- «21» — номер порта, который вы блокируете или открываете. Вы должны чётко понимать, что это за номер и зачем вам его блокировать или открывать.
Синтаксис может отличаться, уточняться, обобщаться, поэтому обязательно почитайте:
- man ipfw
Для того, чтобы ваши изменения сохранились после перезагрузки файервола, необходимо внести изменения в файл конфигурации файервола.
Помните! Производя манипуляции с файерволом, будьте предельно осторожны и внимательны. Особенно, если манипуляции производятся на удалённой машине.