OpenWrt связывает нелокальный IP

226
Avishek Banerjee

Мне нужно сообщить операционной системе, чтобы приложения могли привязывать сокеты к нелокальным IP-адресам. Я хочу сделать это в OpenWrt Linux-терминале.

Используя эту команду

sysctl net.ipv4.ip_nonlocal_bind 

Это показывает

net.ipv4.ip_nonlocal_bind = 0 

Однако при включении

sysctl net.ipv4.ip_nonlocal_bind=1 

это дает ошибку

net.ipv4.ip_nonlocal_bind=1 is an unknown key. 

Кто-нибудь может решить эту проблему в OpenWrt?

1
Попробуйте `sysctl -w net.ipv4.ip_nonlocal_bind = 1` или попробуйте отредактировать строку в` / etc / sysctl.conf` (я считаю) и перезагрузить компьютер. Убедитесь, что параметр был применен с `sysctl net.ipv4.ip_nonlocal_bind`. simlev 4 года назад 0
@simlev Почему вы не опубликовали решение `-w` в качестве ответа? Я не видел ваш отредактированный комментарий, пока не ответил. Если ты напишешь свой собственный ответ сейчас, я удалю свой и дам тебе кредит. Kamil Maciorowski 4 года назад 0
@KamilMaciorowski Причина, по которой я разместил ее в качестве комментария, заключается в том, что у меня нет системы OpenWRT, на которой я мог бы ее протестировать. Вы идете вперед на этот раз ;-) simlev 4 года назад 0
@simlev Пусть это будет сообщество вики тогда. Не стесняйтесь добавлять свои советы по поводу `/ etc / sysctl.conf`. Kamil Maciorowski 4 года назад 0

1 ответ на вопрос

1
Kamil Maciorowski

В этом руководстве говорится:

Чтобы установить ключ, используйте форму variable=value[...]. Для этого требуется -wпараметр.

(Похоже, что в моем Debian -wэто не обязательно; но в моем OpenWRT это, безусловно, так). Пытаться:

sysctl -w net.ipv4.ip_nonlocal_bind=1 

В качестве альтернативы вы всегда можете отредактировать соответствующую строку /etc/sysctl.confи перезагрузиться.

В любой момент вы можете проверить текущее значение с помощью sysctl net.ipv4.ip_nonlocal_bind.

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