Настройка iptables Debian12

R
На сайте с 21.12.2024
Offline
7
617

Всем здравствуйте, 

первый раз конфигурю сервант на Deb12, столкнулся с проблемой отсутствия привычного /etc/networks

здесь теперь  /etc/netplan

нужно прописать: 

pre-up echo "1" > /proc/sys/net/ipv4/ip_forward  # Включаем форвардинг пакетов
pre-up iptables-restore < /etc/ip_rulles.lst     # Загружаем правила
post-down iptables-save > /etc/ip_rulles.lst     # Сохраняем правила

В Deb10-11 это прописывалось таким образом в файл сетевой конфигурации.

Здесь я сделал новый юнит в  /etc/systemd/system/my-network-config.service

и прописал в нем:  

   [Unit]
   Description=Настройка сети

   [Service]
   Type=oneshot
   ExecStart=/bin/sh -c "echo '1' > /proc/sys/net/ipv4/ip_forward && iptables-restore < /etc/ip_rulles.lst"
   ExecStop=/bin/sh -c "iptables-save > /etc/ip_rulles.lst"

   [Install]
   WantedBy=multi-user.target

Потом сделал:

sudo systemctl enable my-network-config.service

sudo systemctl start my-network-config.service

а он хамить начал(  мол systemctl: invalid option -- 'x'

Job for my-network-config.service failed because the control process exited with error code. See "systemctl status my-network-config.service" and "journalctl -xeu my-network-config.service" for details.

Подскажите пожалуйста, где обгадился?

[Удален]
#1

Покажите вывод:

cat /etc/systemd/system/my-network-config.service
systemctl start my-network-config.service
systemctl status my-network-config.service
qckl
На сайте с 05.04.2025
Offline
4
#2

ошибка, скорее всего, в кавычках вExecStart=/bin/sh -c ...- systemd не любит лишние слэши, вложенные кавычки и прочий цирк. упростить надо.

вот рабочий вариант:

[Unit]
Description=Настройка iptables и ip_forward
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/network-init.sh
ExecStop=/usr/local/bin/network-save.sh
RemainAfterExit=true

[Install]
WantedBy=multi-user.target 

и два скрипта:

/usr/local/bin/network-init.sh

#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables-restore < /etc/ip_rulles.lst 

/usr/local/bin/network-save.sh

#!/bin/bash
iptables-save > /etc/ip_rulles.lst 

не забудь:

chmod +x /usr/local/bin/network-*.sh
systemctl daemon-reexec
systemctl enable my-network-config 

так systemd точно не будет ругаться.

https://qckl.net - аренда серверов по всему миру от 9.99€! При оплате от 6 мес. - 3 мес. в подарок, акция!
HM
На сайте с 14.01.2012
Offline
248
#3
Rashp :
pre-up echo "1" > /proc/sys/net/ipv4/ip_forward  # Включаем форвардинг пакетов

Такое лучше в /etc/sysctl.conf

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий