3

У меня проблема с настройкой NAT. Я сделал свой ноутбук маршрутизатором, используя Ubuntu 12.04. В терминале я набрал:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

но клиент по-прежнему не смог подключиться к Интернету при подключении маршрутизатора (моего ноутбука) к клиенту с помощью кабеля локальной сети. Но клиент может пропинговать роутер.

Как я могу решить проблему?

1 ответ1

1

С вашим правилом брандмауэра NAT все в порядке, но по умолчанию Ubuntu не пересылает пакеты, поэтому вам нужно включить это с помощью:

echo 1 > /proc/sys/net/ipv4/ip_forward

Чтобы сделать это автоматически, вы можете использовать такой скрипт (сохраните в /etc/init.d/your-script):

#!/bin/sh
# turn ip_forward on/off

case "$1" in
'start')
        echo 1 > /proc/sys/net/ipv4/ip_forward
        ;;
'stop')
        echo 0 > /proc/sys/net/ipv4/ip_forward
        ;;
*)
        echo "Usage: $0 { start | stop }"
        ;;
esac
exit 0

И сделать его исполняемым и запустить при загрузке с:

sudo chmod +x /etc/init.d/your-script
sudo update-rc.d your-script defaults

Чтобы включить: sudo /etc/init.d/your-script start и sudo /etc/init.d/your-script stop чтобы отключить.

ОБНОВЛЕНИЕ: Как прокомментировал Пол, если вы предпочитаете сделать его постоянным (или, если вам удобно редактировать файл conf, чтобы включить / выключить эту функцию), вы можете изменить /etc/sysctl.conf и раскомментировать строку с net.ipv4.ip_forward=1 чтобы включить и закомментировать, чтобы отключить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .