Iptables linux где лежит

Где сохраняются правила iptables и как их сохранить?

В каждом дистрибутиве Linux путь к сохраненным правилам может отличаться. И бывает так, что мы не знаем куда же сохранить правила, чтобы после перезагрузки сервера они тоже загрузились. Самый быстрый способ найти файл сохраненных правил — воспользоваться systemctl.

Выполняем:

# systemctl status iptables ● iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled) Active: active (exited) since Thu 2020-10-15 13:47:02 MSK; 1 weeks 0 days ago Main PID: 897 (code=exited, status=0/SUCCESS) Tasks: 0 Memory: 0B CGroup: /system.slice/iptables.service

Сервис iptables находится в /usr/lib/systemd/system/iptables.service.

Открываем iptables.service:

# cat /usr/lib/systemd/system/iptables.service [Unit] Description=IPv4 firewall with iptables Before=network-pre.target Wants=network-pre.target Before=ip6tables.service After=syslog.target AssertPathExists=/etc/sysconfig/iptables [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/libexec/iptables/iptables.init start ExecReload=/usr/libexec/iptables/iptables.init reload ExecStop=/usr/libexec/iptables/iptables.init stop Environment=BOOTUP=serial Environment=CONSOLETYPE=serial StandardOutput=syslog StandardError=syslog [Install] WantedBy=basic.target

В содержимом нам нужна строка AssertPathExists, в которой и указан путь к файлу, в который IPTABLES сохраняет правила. В моём случае путь до файла /etc/sysconfig/iptables.

После внесения изменений в правила iptables, сохраняем правила в этот файл:

iptables-save > /etc/sysconfig/iptables

Источник

Как найти конфиг, который использует iptables?

На сайте настроен iptables. Разрешает коннект к порту 3306 только для одного IP. IP сменился, нужно открыть конфиг фаервола и сменить IP.
Гуглю где находится его конфиг, гугль говорит, смотреть в /etc/sysconfig/iptables.old и в /etc/sysconfig/iptables-config.
Ага, думаю я, то что мне нужно, открываю эти конфиги, в них нет записи с нужным IP. Видимо iptables использует кастомный конфиг. Как узнать где он находится?

Читайте также:  Document viewer linux pdf

littleguga

Выведите список через iptables -L
и удалите старое, добавьте новое

Если я не ошибаюсь, конфиг можно сохранить куда угодно.

In CentOS you have the file /etc/sysconfig/iptables
если его там нет, вы можете его создать, используя iptables-save, чтобы записать текущие правила в файл

iptables-save > /etc/sysconfig/iptables
чтобы загрузить файл, Вам не нужно перезагружать сервер, просто используйте iptables-restore

# iptables -A INPUT -i ens192 -p tcp -s x.x.x.x —dport 3306 -j ACCEPT

так добавить разрешение для подключения определенного IP? какую нибудь еще команду нужно вводить или что нибудь перезагружать?

littleguga

mr_blond97: на счет этого, к сожалению помочь не могу. По умолчанию — все подключения разрешены. Надо смотреть, какое правило у Вас запрещало подключаться со всех ip, кроме старого и его менять.
ps
Если ответ помог, отметьте решением, пожалуйста.

iptables -S выведет список правил
=========
/etc/sysconfig/iptables-config
Не тот файл вы открываете.
mcedit /etc/sysconfig/iptables
меняете правило и
/etc/init.d/iptables restart

Disen

Итак, шаг номер раз:
iptables -L -n —line-numbers
эта команда выведет список всех имеющихся у Вас правил с номерами.

шаг номер 2:
iptables -D INPUT num, где num — номер запрещающего правила.
этой командой мы удаляем запрещающее правило

наг номер 3:
iptables -I INPUT 1 -p tcp -s x.x.x.x —dport 3306 -j ACCEPT
этой командой мы добавляем новое разрешающее правило в цепочку INPUT и ставим его первым. На случай, если у Вас в конце цепочки написано что-то типа -A INPUT -j REJECT —reject-with icmp-host-prohibited

если что-то не получается — пришлите вывод iptables -L -n —line-numbers, бум думать.

Источник

How do I find out where my IPTables rules are being stored?

I working on a Debian server and I’m trying to figure out where my IPTable rules are being stored. From looking around on the internet I’ve found there is generally two locations were these are usually saved. http://major.io/2009/11/16/automatically-loading-iptables-on-debianubuntu/ suggests /etc/network/if-up.d/iptables but that file does not exist in that directory. http://beginlinux.wordpress.com/2009/05/26/saving-changes-for-iptables/ /etc/sysconfig/iptables but the /etc/sysconfig directory doesn’t even exist. From what I know it isn’t to uncommon for the previous administrator to save common files to a different location for security purposes and I was wondering if there was a way for me to find out where the rules are being saved when the iptables-save command is used. This page also states that the file is restored using the script located at /etc/init.d/iptables but this also does not exist. Any help or suggestions as far as how to proceed to find out where the rules are being saved? I know I can try and use grep to find a rare string which would be located in the rules, but I feel there has to be a simpler and more direct method. Update: Thank you for all of your help. I tried using grep to search the /etc directory but it took a very long time and I didn’t want to risk running out of memory, so I stopped it. I figured I’d try using strace as a less intensive method. From looking through the strace I’ve come to the lines (I changed the IP addess to 1.1.1.1):

`open("/etc/protocols", O_RDONLY|O_CLOEXEC) = 5 fstat64(5, ) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7747000 read(5, "# Internet (IP) protocols\n#\n# Up". 4096) = 2859 close(5) = 0 munmap(0xb7747000, 4096) = 0 write(1, "-A net2fw -s 1.1.1.1/32 -p t". 66) = 66` 

I’m not 100% sure what this is doing, but it looks like to me that this is where it uses protocol #5 from the file /etc/protocols which would be: st 5 ST # ST datagram mode reading the file stats of some file and then mapping what it reads to a memory location 0xb7747000 . I’m unsure where it is reading from but then it closes the protocol, unmaps from memory and then writes the rule to file descriptor 1 . How close am I to reading this correctly? and how would I find out the file represented by 1 ?

Читайте также:  Linux command what file system

Red Hat Linux and descendants from that uses /etc/sysconfig/iptables , I am not aware of any distributions in the Debian family using that path.

I would probably cd into /etc , and run commands like grep -R -l ‘iptables-save’ , and grep -R -l ‘iptables’ . If you know a specific address used in a rule, you might also try grepping for that particular rule.

Источник

Оцените статью
Adblock
detector