LinuxForum.Fans
Тема

centos7 gateway

Автор: vkr55 19 сообщений 3243 просмотров
12.12.2014 14:47 #404818

Здравствуйте!
Установил centos7.
Конфиг сетевой карты:
HWADDR=60:A4:4C:2E:8E:1E
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.1
PREFIX=24
GATEWAY=192.168.1.11
DNS1=80.254.111.254
DEFROUTE=no
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=enp3s0
UUID=79af953d-79d2-456b-8b8b-acb56918f018
ONBOOT=yes

- так локалка работает. Но доступа в интернет с 192.168.1.1 нет.

При
DEFROUTE=yes
- интернет на некоторое время включается /до минуты/, потом локалка входит в ступор. 192.168.1.11 не пингуется даже с win_клиентов. Интернет у всех рвется приблизительно с таким периодом:
2014.12.12__07:48:01 * Cвязь отсутствует
2014.12.12__07:49:03 Связь восстановлена
2014.12.12__07:50:23 * Cвязь отсутствует
2014.12.12__07:52:46 Связь восстановлена
Возвращаю DEFROUTE=no
- все компьютеры из локалки ходят в интернет. Но сервер - нет.
Пожалуйста помогите...
В /etc/sysconfig/network прописать GATEWAY=192.168.1.11 пробовал, результат аналогичный.

12.12.2014 16:43 #404846
"vkr55" написал:
IPV4_FAILURE_FATAL=yes

Вот же у вас указано, что IP v4 запрещен. :)

12.12.2014 17:09 #404853
Wolfenberg написал:
[quote="vkr55"]IPV4_FAILURE_FATAL=yes

Вот же у вас указано, что IP v4 запрещен. :)[/quote]

Вообще-то пробовал уже по всякому...
и при
IPV4_FAILURE_FATAL=yes
и при
IPV4_FAILURE_FATAL=no
- все происходит по вышеописанному сценарию.

12.12.2014 17:17 #404855

тогда покажите таблицу маршрутизации и правила iptables

12.12.2014 17:29 #404861
lone_wolf написал:
тогда покажите таблицу маршрутизации и правила iptables

Сервер имеет 1 сетевую карту. Сервисы iptables отключены. Интернет только для обновления. Назначение - сервер_nx для локальных клиентов.

13.12.2014 02:20 · отредактировано #404925

У вас там firewalld, он отключен?
Поменять это:

text
BOOTPROTO=none
DEFROUTE=no

На это:

text
BOOTPROTO=static
DEFROUTE=yes
13.12.2014 10:04 #404937

так вырубает всю сеть, 192,168,1,11 не пингуется ни с одной машины.

Сделал при настройке сервера "под себя"
yum -y remove firewalld
yum -y install system-config-firewall-tui
Запускаем и убираем отметку опции Enabled
# system-config-firewall-tui
/bin/systemctl restart iptables.service
- может из-за этого косяк?

13.12.2014 12:20 #404946

Все кажется решилось. Установил систему с нуля. Оставил на месте firewalld. Все работает нормально)

13.12.2014 12:35 #404948
"vkr55" написал:
Сделал при настройке сервера "под себя"
yum -y remove firewalld
yum -y install system-config-firewall-tui
Запускаем и убираем отметку опции Enabled
# system-config-firewall-tui
/bin/systemctl restart iptables.service

ну вобoемто правильней было бы так сделать :
[console]# systemctl disable firewalld
# systemctl stop firewalld
# yum install iptables-services
# touch /etc/sysconfig/iptables
# touch /etc/sysconfig/ip6tables
# systemctl start iptables
# systemctl start ip6tables
# systemctl enable iptables
# systemctl enable ip6tables[/console]

13.12.2014 12:46 #404951

Да, спасибо, видел тоже. Но уже разобрался как настроить firewalld )
Будет время - потренируюсь...

13.12.2014 13:14 #404954
vkr55 написал:
Да, спасибо, видел тоже. Но уже разобрался как настроить firewalld )
Будет время - потренируюсь...

если не затруднит то ссылку на мануал по firewolld в студию.

З.ы. в гугде не забанен статьи читал.

13.12.2014 17:09 #404985
lone_wolf написал:
[quote=vkr55]Да, спасибо, видел тоже. Но уже разобрался как настроить firewalld )
Будет время - потренируюсь...

если не затруднит то ссылку на мануал по firewolld в студию.

З.ы. в гугде не забанен статьи читал.[/quote]
А меня больше интересует, как fail2ban к firewalld прикрутить. Или файлтубану это по барабану?
И второй интересный вопрос. В iptables я легко делаю "ловушки" для чрезмернонастойчивых кулхацкеров, которые думают, что могут мои пароли подобрать *WALL* . А вот как такое же реализовать в терминах firewalld - мозги съежают набекрень. Из гуя это не нарисовать, а руками - слишком много писанины получается. По мне - проще firewalld снести и поставить вместо него старый добрый iptables.

13.12.2014 17:55 #404995

старый добрый iptables рулит *DANCE*

13.12.2014 23:17 #405014
lone_wolf написал:
старый добрый iptables рулит *DANCE*

Более того, у меня есть устойчивое ощущение, что есть netfilter, он и работает. А iptables и firewalld это только разной степени невеченности обертки над ним.

13.12.2014 23:30 #405016
lone_wolf написал:
[quote=vkr55]Да, спасибо, видел тоже. Но уже разобрался как настроить firewalld )
Будет время - потренируюсь...

если не затруднит то ссылку на мануал по firewolld в студию.

З.ы. в гугде не забанен статьи читал.[/quote]

Ссылку не сохранил...
Сравнение
Рассмотрим основные отличия FirewallD и iptables:
• Служба iptables хранит конфигурацию в /etc/sysconfig/iptables в то время как FirewallD хранит ее в различных XML-файлах в /usr/lib/firewalld/ и /etc/firewalld/. Интересно заметить, что файл /etc/sysconfig/iptables не будет существовать, если современную систему Linux (например, Red Hat Enterprise Linux) установить с FirewallD по умолчанию.
• Для iptables service каждое изменение означало сброс сброс старых правил и чтение всех новых из /etc/sysconfig/iptables, однако для FirewallD не существует понятия «воссоздания» правил; при конфигурации только различия в правилах учитываются и применяются. Таким образом, FirewallD может изменять настройки во время выполнения без потери старых соединений.
Основное сходство: оба iptables и FirewallD используют одинаковый инструментарий iptables (iptables tool).
Избавляемся от FirewallD
Если, являясь сторонником старой школы, мы решили избавиться от FirewallD и вернуться, к iptables, то это вполне возможно даже на CentOS 7:
# systemctl disable firewalld

# systemctl stop firewalld

# yum install iptables-services

# touch /etc/sysconfig/iptables

# touch /etc/sysconfig/ip6tables

# systemctl start iptables

# systemctl start ip6tables

# systemctl enable iptables

# systemctl enable ip6tables
Если же мы переходим на FirewallD, то разбираемся дальше.
Проверяем, установлены ли нужные пакеты, ставим если нужно
yum -y install firewalld firewall-config
Поехали!
Концепция зон FirewallD
FirewallD использует сетевые зоны для определения уровня доверия сетевого соединения, соединение может являться частью только одной зоны, но одна зона может определять несколько сетевых подключений.
Для использования в общих случаях создано несколько предопределённых зон:
• drop – входящие сетевые пакеты сбрасываются, без ответа, допускаются только исходящие соединения
• block – входящие сетевые соединения отклоняются с сообщением icmp-host-prohibited, допускаются только сетевые соединения инициированные внутри нашей системы.
• public – при недоверии к компьютерам, разрешается устанавливать только конкретные входящие соединения.
• external – для использования во внешних сетях с разрешенным маскарадингом, особенно для роутеров, разрешается устанавливать только конкретные входящие соединения
• dmz – для компьютеров собственной demilitarized zone которые публично доступны с ограниченным доступом к нашей внутренней сети, разрешается устанавливать только конкретные входящие соединения.
• work/home/internal – максимальное доверие к компьютерам, уверенность в том, что они не приченят вреда нашему компьютеру, разрешается устанавливать только конкретные входящие соединения
• trusted – все сетевые соединения разрешены.
Конфигурация
FirewallD может быть настроен через инструмент конфигурации firewall-config с графическим интерфейсом, через командную строку firewall-cmd или интерфейс D-BUS.
Доступ к инструмент конфигурации firewall-config с графическим интерфейсом осуществляется командой firewall-config или же запуском через меню.
После запуска будет виден список зон, о которых говорилось выше, можно выбрать любую из них и выполнить настройки в соответствии с вариантами:
• Services - trusted services that can be accessed from all hosts.
• Ports - trusted ports that will be open in this zone
• Masquerading - allows you to setup a host or router that connects your local network to the internet
• Port Forwarding - add entries to allow port forward either from one port to another or one host to another.
• ICMP Filters - trusted icmp services
• Rich rules - use rich language to add complex rules
• Interfaces - bind interfaces to the zone
• Sources - bind source address or ares to the zone
На мой взгляд, наиболее удобным инструментом настройки остаётся командная строка и, соответственно, команда firewall-cmd. Рассмотрим наиболее употребимые команды:
Команда Значение

firewall-cmd --state узнать состояние FirewallD
firewall-cmd --reload перезагрузить FirewallD
firewall-cmd --get-zones вывести список всех заданных зон
firewall-cmd --get-services список всех поддерживаемых служб
firewall-cmd --get-active-zones список всех активных зон
firewall-cmd [--zone=] --add-interface= добавить интерфейс к зоне
firewall-cmd [--zone=] --change-interface= изменить интерфейс
firewall-cmd [--zone=] --remove-interface= удалить интерфейс из зоны
firewall-cmd --panic-on режим паники, блокирующий все сетевые соединения
firewall-cmd --panic-off отмена режима паники
firewall-cmd [--zone=] --add-service= [--timeout=] добавить службу к зоне
firewall-cmd [--zone=] --remove-service= [--timeout=] удалить службу из зоны
firewall-cmd [--zone=] --add-port=[-]/ [--timeout=] добавить порт к зоне
firewall-cmd [--zone=] --remove-port=[-]/ [--timeout=] удалить порт из зоны
firewall-cmd [--zone=] --add-masquerade добавить маскарадинг к зоне
firewall-cmd [--zone=] --remove-masquerade удалить маскарадинг
firewall-cmd [--zone=] --add-forward-port=port=[-]:proto= { :toport=[-] | :toaddr=| :toport=[-]:toaddr=} добавить проброс портов к зоне
firewall-cmd [--zone=] --remove-forward-port=port=[-]:proto= { :toport=[-] | :toaddr=| :toport=[-]:toaddr=} удалить проброс портов из зоны
Конец.

14.12.2014 00:51 #405020

аааа эт я читал *SCRATCH* но все равно спасибо

14.12.2014 00:53 #405021
"Cruiser78" написал:
Более того, у меня есть устойчивое ощущение, что есть netfilter, он и работает. А iptables и firewalld это только разной степени невеченности обертки над ним.

согласен, но как по мне iptables болие логичный и понятный нежели firewalld, может я просто чего то не догоняю, но это сугубо моё ИМХО

14.12.2014 10:59 · отредактировано #405044
vkr55 написал:

Рассмотрим основные отличия FirewallD и iptables:
• Служба iptables хранит конфигурацию в /etc/sysconfig/iptables в то время как FirewallD хранит ее в различных XML-файлах в /usr/lib/firewalld/ и /etc/firewalld/.

Ага, очень огромная разница. А по сути - и то и другое файлы. Которые надо прочитать и прочитанное исполнить. И если в /etc/sysconfig/iptables хранится то, что можно в прямом виде скормить iptables'у командой строкой, без какого либо распасивания и корректировки прочитанного, то как iptables'у скармливать XML-файлы? Значит - строим соответсвующий XML-парсер и формирователь командной строки iptables'а. И в чем выгода? Зачем нам надо такое усложнение? Причем далеко не факт, что мы сможем загнать в XML-структуру то, что мы хотим от iptables.

vkr55 написал:

• Для iptables service каждое изменение означало сброс сброс старых правил и чтение всех новых из /etc/sysconfig/iptables, однако для FirewallD не существует понятия «воссоздания» правил; при конфигурации только различия в правилах учитываются и применяются. Таким образом, FirewallD может изменять настройки во время выполнения без потери старых соединений.

У меня есть все основания полагать, что это - вранье голимое. Так как вызов традиционной нашей команды iptables -[I|A] бла-бла-бла (как и команды удаления правила) как то ни разу не влечет за собой сброса всех действующих правил, разрыва установленных соединений и процедуры перечитывания правил из /etc/sysconfig/iptables. Более того - эта команда вообще не изменяет конфигурационный файл и при последующей перезагрузке системы мы вернемся в первобытное состояние, которое было до начала наших экспериментов. Что очень удобно и надежно. И только командой iptables-save > /etc/sysconfig/iptables можно было сохранить все наши изменения.

vkr55 написал:

Основное сходство: оба iptables и FirewallD используют одинаковый инструментарий iptables (iptables tool).

Вот она - ключевая фраза. Firewalld и iptables это только обертки разной степени навеченности над собственно netfilter. И для задания netfiltr'у конфигурации используют один и тот-же инструмент. Просто несколько различаются гуевые программки, которые выданы администратору для руления правилами межсетевого экранирования. И если system-config-firewall требовал перезагрузки (а не сервис iptables, как нам пытаются впарить) межсетевого экрана полностью, то гуевая среда firewalld применяет изменения сразу. И, я абсолютно уверен в том, что если мы руками внесем измнения в его XML-конфиги - они ни разу не подхватятся на автомате. Ты должен будешь дать команду перечитать конфиги.

Так что нет у firewalld никаких преимуществ перед iptables, кроме, разве что дисциплины зон. Которая далеко не во всех случаях нам нужна. А в большинстве случаев - не нужна вообще. Так как там где нужно - легко реализуется традиционными правилами iptables (которые мы реализуем не из гуёвой среды, а написанием соответствующего конфигурационного скрипта).

14.12.2014 11:13 #405046

Вы явно преувеличили мои познания в linux. Будьте пожалуйста повнимательнее. Это цитата)
Спасибо всем)
Удачи в новом году!

Войдите или зарегистрируйтесь, чтобы ответить.