Intereting Posts
Как установить PHP CLI с помощью интерактивной подсказки на Debian Wheezy? Как скопировать файл с USB-накопителя в каталог на жестком диске в Centos 6? Ограниченное удаленное выполнение ssh с аргументами Считать общее количество вхождений с помощью grep Перенос установки Linux с жесткого диска на SSD, который уже установил Windows 10 Сценарии: подсчет пользователей, вошедших в систему Как искать текст в сжатых файлах и получать только имя файла Как я могу создать и установить PL / R как непривилегированный пользователь? Почему эта условная проверка bash работает с ], но не ? Добавить во второй столбец AWS CLI, передать вывод предыдущей команды как ввод для другой? Собирает ли busybox chmod 03755 любые записи ввода / вывода на диск, если права на каталоги уже установлены правильно? BTRFS RAID6 массив сломан, как его исправить? Сравнивая File1 и File2, чтобы прокомментировать соответствующий шаблон в File2 Печать нескольких полей

Как я могу запустить сервис iptables автоматически после перезагрузки на CenOS / RHEL7?

У меня есть несколько проблем с недавно установленным домашним сервером, который я готовлю. Я установил CentOS7, и я обнаружил, что по умолчанию порты 80 и 443 отключены. Поэтому я добавил их в iptables со следующими командами:

iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -I INPUT 5 -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT service iptables save 

Я также установил iptable-сервис, которого нет. Проблема в том, что каждый раз, когда я перезагружаю компьютер, новые конфигурации стираются.

Я попытался добавить службу iptable в chkconfig, но я получаю следующую ошибку:

 [root@CentOS-7]# chkconfig --add iptables error reading information on service iptables: No such file or directory 

Я предполагаю, что причина, по которой я получаю эту ошибку, состоит в том, что в /etc/init.d/ нет скрипта iptable. Однако у кого-нибудь есть идеи, если я действительно поступаю правильно и / или если есть более простой и надежный способ сделать это? Если нет, то как я могу решить эту проблему? В конце концов, мне просто нужно использовать мой домашний сервер как веб-сервер / почтовый сервер …

Я также попытался использовать команду systemitl enable iptables, как любезно предложил flemingovirus, но без успеха. После ввода команды я получил следующий результат:

 ln -s '/usr/lib/systemd/system/iptables.service' '/etc/systemd/system/basic.target.wants`/iptables.service'` 

UPDATE: я просмотрел iptables и команда «service iptables save» работала правильно. Проблема, похоже, связана с тем, что служба не запускается при перезагрузке. Мне удалось запустить службу при перезагрузке после добавления следующей строки в /etc/rc.local

 systemctl start iptables.service 

однако мне интересно, почему в этом случае команда 'enablectl enable iptables' не работает. Я что-то упускаю? благодаря

скрипты init исчезли. Теперь его systemctl . Его там во всех документах CentOS7. Для chkconfig ipatables или для запуска сервиса iptables при запуске вам необходимо использовать:

Включить systemptl iptables

Вы должны проверить простые вещи, которые будут известны об systemctl в документах Cyberciti на iptables .

Хотя этот вопрос старый, я столкнулся с той же проблемой и нашел решение здесь .

 systemctl mask firewalld systemctl stop firewalld 

В основном firewalld конфликты iptables и, таким образом, предотвратят загрузку iptables:

 # cat /usr/lib/systemd/system/firewalld.service [Unit] Description=firewalld - dynamic firewall daemon Before=network.target Before=libvirtd.service Before=NetworkManager.service Conflicts=iptables.service ip6tables.service ebtables.service ... 

Я смог решить это, замаскировав firewalld, чтобы он не запускался автоматически и никогда не будет запущен после этого. Конечно, вам нужно будет включить iptables:

 systemctl enable iptables 

Прежде всего, вы должны попробовать #chkconfig --add /sbin/iptables это распознает «iptables». то вы должны создать скрипт для своей конфигурации iptables и затем запустить этот скрипт при загрузке. создать скрипт:

 #!/bin/bash # iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -I INPUT 5 -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT /sbin/service iptables save 

и назовите его, например, myfirewall . сделайте его исполняемым с chmod +x myfirewall и напишите это ./myfirewall в /etc/rc.local чтобы запустить скрипт при загрузке.