Как сделать переадресацию IP постоянной?
Я знаю, что я могу включить IP вперед, повторяя 1
в /proc/sys/net/ipv4/ip_forward
, но как я могу сделать это постоянным?
Кстати, я хочу другой метод, а не запускать сценарии, есть ли?
3 ответа
Отредактируйте /etc/sysctl.conf и найдите следующие строки:
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
Раскоментируйте net.ipv4.ip_forward=1
:
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Или в одной строке команды:
sudo sysctl -w net.ipv4.ip_forward=1
Постоянная настройка с использованием /etc/sysctl.conf
Если мы хотим сделать эту конфигурацию постоянной, лучший способ сделать это - использовать файл /etc/sysctl.conf
где мы можем добавить строку, содержащую net.ipv4.ip_forward = 1
/etc/sysctl.conf:
net.ipv4.ip_forward = 1
Если у вас уже есть запись net.ipv4.ip_forward
со значением 0 вы можете изменить это на 1.
Чтобы включить изменения, сделанные в sysctl.conf
вам нужно будет выполнить команду:
sudo sysctl -p /etc/sysctl.conf
В системах на базе RedHat это также включается при перезапуске сетевой службы:
service network restart
и в системах Debian/Ubuntu это также можно сделать, перезапустив службу procps:
sudo /etc/init.d/procps restart
Источник: Как включить IP-пересылку в Linux
Если вам нужно включить его в скрипте, вы можете использовать команды ниже, чтобы включить
sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sysctl -p
или отключить:
sed -i 's/net.ipv4.ip_forward=1/net.ipv4.ip_forward=0/' /etc/sysctl.conf
sysctl -p