LINUX.ORG.RU
ФорумAdmin

Настройка firewalld в Fedora 19

 , ,


0

2

Добрый день!

Появилось немного времени и решил подразобраться в firewalld, ранее использовал iptables и в принципе был доволен, но решил не стоять на месте и понять что за зверь этот firewalld.

В общем пока только научился открывать доступ к службам

firewall-cmd --add-service=http
но после перезагрузки все это пропадает. Пожалуйста помогите понять как и где настраивать новый файрвол. Раньше менял все что надо в /etc/sysconfig/iptables и перезапускал iptables. А сейчас все что добавлю при помощи firewall-cmd теряется после перезагрузки. Можно конечно придумать что-то типа скрипта при загрузки, который снова добавит правила, но я подозреваю, что есть более правильный способ.
Читал http://fedoraproject.org/wiki/FirewallD/ru , но что-то не особо он мне помог.

У меня есть желание, но нет времени разобраться с ним.
Может есть файл куда надо вписать это правило ?

dada ★★★★★ ()

про --permanent прочитал?

alpha ★★★★★ ()
Ответ на: комментарий от dada

файл тоже есть, в /etc/firewalld/zone/

Например:

# cat /etc/firewalld/zones/web.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Web</short>
  <description>For web-server</description>
  <service name="http"/>
  <service name="ssh"/>
  <service name="https"/>
  <port protocol="tcp" port="8080"/>
</zone>

alpha ★★★★★ ()
Последнее исправление: alpha (всего исправлений: 1)
Ответ на: комментарий от dada

Так я такой файл и ищу, с теплом в сердце вспоминая /etc/sysconfig/iptables
Я примерно так же сейчас пытаюсь привыкнуть к Systemd после Sysvinit. До сих пор на автомате пишу

service httpd start

вместо того, как по новому
systemctl restart httpd.service

ИМХО длиннее и не так удобно :(
MakPol ()
Ответ на: комментарий от carasin

Да читал я эту статью, писал же в первый же пост. Блин, видимо я плохо выделил текст, что не заметили ни

/etc/sysconfig/iptables
ни
http://fedoraproject.org/wiki/FirewallD/ru 
Ну либо вообще не вчитывались, что там топикстартер хочет донести... :)

MakPol ()
Ответ на: комментарий от MakPol

Ключ --permanent с указанием зоны, думаю, поможет отцу русской демократии.

А вообще, если есть графика, то можно всё ровно то же самое сделать, тыкая по кнопкам в firewall-config.

carasin ★★★★★ ()
Последнее исправление: carasin (всего исправлений: 1)
Ответ на: комментарий от alpha

файл тоже есть, в /etc/firewalld/zone/

У меня только:

# ls -alF /etc/firewalld/
итого 36
drwxr-x---.   5 root root  4096 июл 30 13:25 ./
drwxr-xr-x. 146 root root 12288 июл 30 13:02 ../
-rw-r-----.   1 root root   710 июн  7 14:15 firewalld.conf
drwxr-x---.   2 root root  4096 июн  7 14:15 icmptypes/
-rw-r-----.   1 root root   206 июн  7 14:15 lockdown-whitelist.xml
drwxr-x---.   2 root root  4096 июн  7 14:15 services/
drwxr-x---.   2 root root  4096 июн  7 14:15 zones/

MakPol ()
Ответ на: комментарий от carasin

Попробовал, но что-то как-то не очень

# firewall-cmd --add-service=http --permanent
FirewallD is not running
Может конечно это из-за того, чт оне указал зону, но не думаю.

MakPol ()
Ответ на: комментарий от MakPol

Странно, сразу после перезагрузки это прокатило... И почему он ругнулся, чт осервис не запущен...

MakPol ()
Ответ на: комментарий от carasin

Вот теперь что-то нащупываю. Увидел, что у меня в файл

/etc/firewalld/zones/public.xml
добавилась запись
<service name="http"/>
Теперь методом научного тыка попробую понять как не перезагружая заставить этот файл перечитать и вообще сказка :)

MakPol ()
Ответ на: комментарий от MakPol

Опция --permanent должна быть первой для всех постоянных вызовов.

FirewallD is not running

Посмотрите статус FirewallD:

sudo systemctl status firewalld.service

carasin ★★★★★ ()
Последнее исправление: carasin (всего исправлений: 1)
Ответ на: комментарий от MakPol

Постоянные опции не оказывают влияния непосредственно в среде выполнения. Эти опции доступны только после перезагрузки или перезапуска. Для того чтобы иметь опции, изменяемые в среде выполнения, и постоянные опции, необходимо обеспечить оба варианта.

carasin ★★★★★ ()
Ответ на: комментарий от MakPol

ну опечатка, в zones/ конечно. И собственно там содержатся пользовательские конфиги, или отредактированные. А дефолтные лежат где-то в /usr, их трогать не надо.

Вообще, имхо, лучше свою зону создать и над ней измываться. Можно её потом зоной по умолчанию сделать. А дефолтные пусть остаются дефолтными.

alpha ★★★★★ ()
Ответ на: комментарий от alpha

Большое спасибо за помощь! Сначала, когда увидел всю эту кучу зон... думал пипец... наворотили, но сейчас вроде устаканивается все. Хоть я и юзаю на серверах CentOS 6.4 и там пока старый добрый iptables, но они же тоже перейдут в 7-ой версии, так, чт олучше поднатыкаюсь на рабочем компе сначала.

Я пока не прочувствовал особо, но может форумчане уже могут сказать - удобнее стало с firewalld?

MakPol ()
Ответ на: комментарий от MakPol

На мой вкус конфиги зон, пусть даже в xml читабельнее правил iptables. Но это мне пока не приходилось проброс портов настраивать и всякие хитрости, только базовое открыть/закрыть порт.

alpha ★★★★★ ()
Ответ на: комментарий от MakPol

ИМХО длиннее и не так удобно :(

Автодополнение рулит. С ним даже

journalctl _SYSTEMD_UNIT=nginx.service
нормально пишется :)

alpha ★★★★★ ()
Ответ на: комментарий от alpha

Мне предстоит проброс портов, маскарадинг и прочие приятности, вот оцениваю ущерб :)

MakPol ()
Ответ на: комментарий от alpha

Немного «офф» но какраз про автодополнение хотел давно понять. Я юзаю стандартное нажатие «Tab» ну или двойное «Tab», если список, а не один элемент. Но как-то видел, что у кого-то в консоли даже параметры дополняются, но не понял как это так. Пока из

systemctl stop httpd.service

я дополняю Tab-ом только когда уже напишу "systemc" иначе вариантов выскакивает куча
# system
system-config-authentication    systemd-cgls
system-config-date              systemd-cgtop
system-config-firewall          systemd-coredumpctl
system-config-firewall-tui      systemd-delta
system-config-keyboard          systemd-detect-virt
system-config-language          systemd-inhibit
system-config-printer           systemd-loginctl
system-config-printer-applet    systemd-machine-id-setup
system-config-users             systemd-notify
systemctl                       systemd-nspawn
systemd                         systemd-stdio-bridge
systemd-analyze                 systemd-sysv-convert
systemd-ask-password            systemd-tmpfiles
systemd-cat                     systemd-tty-ask-password-agent
MakPol ()
Ответ на: комментарий от MakPol

что у кого-то в консоли даже параметры дополняются

Пакет bash-completion должен стоять. Для systemctl и journalctl там всё прописано, и параметры, и управляющие команда, и имена сервисов автодополняются.

alpha ★★★★★ ()
Ответ на: комментарий от dada

Помогите пожалуйста еще с маскарадингом и новым firewalld, раньше у меня было:

-A POSTROUTING -s xx.xx.xx.0/24 ! -d yy.yy.yy.0/23 -o eth1 -j MASQUERADE
а теперь я в документации нашел только что-то типа
firewall-cmd [--zone=<zone>] --add-masquerade
Но как тут для своего случая переделать - ума не приложу.

MakPol ()
Ответ на: комментарий от carasin

Директория /etc/firewalld/zone используется для хранения настроек по-умолчанию, а также для возврата к ним в случае необходимости; каталог @PREFIX@/lib/firewalld/zones используется для хранения изменённых файлов конфигурации либо созданных пользователем.

Гм, английский текст говорит обратное:

@PREFIX@/lib/firewalld/zones is used for default and fallback configurations and /etc/firewalld/zones is used for user created and customized configuration files.

anonymous ()
Ответ на: комментарий от anonymous

Давно туда не заглядывал. Надо бы посмотреть историю правок :)

В любом случае спасибо.

carasin ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.