Как сделать переадресацию 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
Другие вопросы по тегам