эти строки выглядят как настройки довольно низкого уровня (заглушки для достижения желаемого поведения временно?), так как они не выживают после перезагрузки. […]
Как обычно такая задача выполняется на Linux-серверах маршрутизации / межсетевого экрана? Есть ли способ настроить его по-другому?
Более высокий уровень должен иметь программное обеспечение брандмауэра (например, shorewall
или ufw
), которое будет устанавливать правила фильтрации пакетов при каждой загрузке в соответствии с его конфигурацией.
Если вы знаете, как выполнить любую команду при загрузке ( /etc/rc.local
это самый простой метод, не обязательно лучший), вы можете выполнить свои iptables
команды таким образом. Это похоже на решение бедного человека.
Дополнительно смотрите man 8 iptables-save
и man 8 iptables-restore
.
Основной способ навсегда изменить /proc/sys/net/ipv4/ip_forward
это редактировать /etc/sysctl.conf
. Вы можете даже иметь эти строки в файле:
# Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1
Возможно, вам не понадобится редактировать файл, если вы используете брандмауэр, который достаточно умен, чтобы самостоятельно изменять настройки всякий раз, когда вам это нужно, когда брандмауэр работает. Я не могу сказать, какие брандмауэры делают это (если есть), но это возможно в целом.
отличный пример не требующего объяснения синтаксиса команд
Почему это должно быть самоочевидным? У нас есть man
и другие ресурсы для этого. man 8 iptables
укажет вам, man 8 iptables-extensions
что довольно огромно. Смею вас изобрести самообъясняющий синтаксис, способный заменить руководство. :)
У меня есть хост Debian 9, с 2 интерфейсами […], которые работают как обычный домашний маршрутизатор
Моя установка точно. Я в порядке с shorewall
.