LINUX.ORG.RU
решено ФорумAdmin

iptables + centos 7

 , ,


0

1

Не ну это издевательство! Арендовали VDS , значит прописываю доступы к бд снаружи! CENTOS7

yum -y install iptables-services
iptables -I INPUT -s ОДИН ИП -p tcp --dport 3306 -j ACCEPT 
iptables -I INPUT -s ДРУГОЙ ИП -p tcp --dport 3306 -j ACCEPT
service iptables save

Пишет все ОК Доступы появляются! Но стоит сделать ребут сервака все исчезает!

Что за мистика?

Запуск iptables добавлен на уровень запуска? Т.е. что бы правила загружались при старте?

kostik87 ★★★★★
()

Не хочет народ учить мат.часть, ну да ладно, просто аватарка у тебя прям хакерская такая, должен уж азы то знать. В 7м центосе помимо перехода на систему инициализации System D, по умолчанию ещё вкорячили Firewall D, который надо отключить, а а вот сервис который при старте системы запустится и подгрузит правила из файлика включить.

systemctl stop firewalld; systemctl disable firewalld; systemctl enable iptables

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

Спасиб, сделал как сказал все работает теперь и сохраняет, но отключение firewalld ничего в себе опасного не несет?

Правила теперь пустые

iptables -L -v -n
Chain INPUT (policy ACCEPT 11394 packets, 9320K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       88.88.888.888        0.0.0.0/0            tcp dpt:3306
  298 23571 ACCEPT     tcp  --  *      *       888.88.888.88        0.0.0.0/0            tcp dpt:3306

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 10778 packets, 12M bytes)
 pkts bytes target     prot opt in     out     source               destination

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

У тебя единственный механизм обработки трафика NetFilter, который колосится в ядре. Тебе надо каким-то образом скармливать ему набор правил, хочешь делай это через iptables, хочешь через firewalld, хочешь, свою приблуду запили. При отключении firewalld разумеется он заберет с собой правила который навесил по умолчанию.

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

Есть какой то способ достать те правила и запилить их в iptables 1 в 1 ? Дело в том что я юзаю BitrixVM и думаю там это запилено по умолчанию,а я это угробил только что...

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

по идее iptables save должен сохранять, но это не самая лучшая идея, firewalld создаёт хитрую структуру цепочек и правил хождения по этим цепочкам.

Чем собсно firewalld не угодил? Он простой как циферблат, не если лень разбираться сделай просто rich rules и всё.

sparks ★★★★
()

systemctl stop firewalld systemctl enable iptables systemctl start iptables

Дописывай прочие правила.

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

Я имею ввиду, что сервис iptables помимо установки и даже запуска нужно добавить в автозагрузку при старте системы.

Тебе уже ответили.

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

systemctl enable iptables ну собственно!

Короче вернул я systemctl start firewalld systemctl enable firewalld

ссыкотно что то его отрубать ,там много правил сделано, надо найти способ что бы эти два правила те что в теме не сбрасывались...

skynetyar
() автор топика
Ответ на: комментарий от sparks

Вот что то не простой как циферблат, может подкините примерчик как из темы правила туда закорячить, я привык к iptables но в данном случае ссыкотно его вырубать так как шкаф BitrixVM идет с ним в куче...

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

Добавь в firewalld правило, чтоб он считал два твоих доверенных адреса частью какой-нибудь доверенной зоны, в которой ты включишь службу mysql — так у тебя и будет доступ, и сохранятся правила firewalld.

Как-то так:

firewall-cmd --permanent --zone=trusted --add-source=X.X.X.X
firewall-cmd --permanent --zone=trusted --add-source=Y.Y.Y.Y
firewall-cmd --permanent --zone=trusted --add-service=mysql

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

А может вам таки нанять какого-нибудь студента, который за 1000 рублей за 15 минут настроит вам файрвол? Вот правда-правда, это реально быстрей и в вашем случае правильней.

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

Ну начинается...,я разбираюсь в iptables более менее, но тут коснулся firewalld, который все всегда отрубают! И началось, иди к админу,найми студента, пошатай трубу, попылесось комп.., я сам вот читал сейчас про firewalld, хочу сам вроде как разобраться....

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

Например так:

firewall-cmd --permanent --add-rich-rule='rule family=«ipv4» source address=«xx.xx.xx.xx» service name=«mysql» accept' ; firewall-cmd --add-rich-rule='rule family=«ipv4» source address=«xx.xx.xx.xx» service name=«mysql» accept'

С ключем permanent он добавляет в конфиг, но не применяет, без него применяет но не добавляет в конфиг, я думаю легко нагуглишь как указать номер порта, если не хочешь использовать имя сервиса

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

Да,спасибки, пока что родил что та типа

firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="ПЕРВЫЙИП" service name="mysql" accept'
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="ВТОРОЙИП" service name="mysql" accept'
firewall-cmd --runtime-to-permanent
firewall-cmd --reload

Но может не по сервису а по порту лучше ?

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

Дело вкуса, разрабы старались сделать сделать более человеческий интерфейс, как хочешь так и делай, просто в списке правил который отображает firewall-cmd ты будешь видеть имена сервсисов, вместо простыни портов, что по мне удобнее.

Чет у тебя слишком много перманента в правилах))) Покури официальный ман федоры по поводу firewalld, он довольно гибкий и в целом удобный, но отказаться от годами сформированной привычки использовать iptables не так просто.

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

Последняя команда открывает сервис для зоны «Trusted». По умолчанию эта зона — пустая. Первыми двумя командами ты добавляешь в эту зону два адреса (которые тебе нужны).

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

Да,потихоньку мои мозги начали понимать это..

В итоге вот эти правила сработали и доступ открылся при отключенном или включенном iptables(он все равно пустой)

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="XX.XX.XXX.XXX" service name="mysql" accept'
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="YY.YY.YYY.YYY" service name="mysql" accept'
firewall-cmd --runtime-to-permanent
firewall-cmd --reload

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

Ну тут уже дело вкуса — добавлять правило на адреса «мимо» зон, либо добавлять адреса в зону. При малом числе правил вряд ли будет как-то влиять на производительность.

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

я разбираюсь в iptables более менее
Спасиб, сделал как сказал все работает теперь
iptables -L -v -n
Chain INPUT (policy ACCEPT 11394 packets, 9320K bytes)

policy ACCEPT.

Ну да, вы разбираетесь. Ещё бы оно теперь не работало.

Может, не стоит переоценивать свои способности, и таки к студенту?

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

Просто иди упрись со своими советами в клозет или еще куда, от тебя куриная голова не одного дельного совета по теме только дибилоидные советы..

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

Ну что же вы так нервничаете? Не каждый день доставляет такое развлечение как заток iptables с INPUT policy ACCEPT который обновляет прошивку на циске не зная как к ней подключиться после того как не смог удалить openvpn.

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