@bluefasik

Как сделать чтобы команда выполнялась при запуске?

После перезагрузке роутера, у меня слетает правило фаервола ( iptables -t nat
-A POSTROUTING -o enp0s3 -j MASQUERADE), для того чтобы интернет заработал мне каждый
раз необходимо прописывать это правило. Как сделать, чтобы оно добавлялось при загрузке
системы?
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ответы на вопрос 3
paran0id
@paran0id Куратор тега Linux
Умный, но ленивый
Гляньте утилиту iptables-persistent - она сохраняет правила iptables и применяет их после перезагрузки.

Можно также сделать systemd service (type oneshot), выполняющий эту команду.
Ответ написан
Комментировать
kolossradosskiy
@kolossradosskiy
Set iptables rules to run at system startup

echo "#! /sbin/iptables-restore" > /etc/network/if-up.d/iptables-rules
iptables-save >> /etc/network/if-up.d/iptables-rules
chmod +x /etc/network/if-up.d/iptables-rules
Ответ написан
Комментировать
@hx510b
"Я знаю, что ничего не знаю"
Можно прописать в cron / crontab задачу, которая будет запусаться при загрузке системы:
@reboot root   iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

- такой простой вариант на все случаи и дистрибутивы (если используется iptables).

в RHEL/CentOS можно исправить файл руками, при запуске iptables конфигурация подгружается их этого файла:
/etc/sysconfig/iptables

Можно сохранить текующую конфигурацию в этот файл:
iptables-save >/etc/sysconfig/iptables
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы