Назад | Перейти на главную страницу

OpenWRT Barrier Breaker - маршрутизатор не выполняет маршрутизацию

Я обновил свой роутер TP-Link 1043 до OpenWrt 14.07. Все идеально, Wi-Fi и LAN соединены мостом, машины LAN могут обращаться друг к другу по имени, я могу подключиться к маршрутизатору по SSH, а маршрутизатор может получить доступ к Интернету на pppoe-wan интерфейс.

Однако есть одна небольшая проблема. Маршрутизатор не выполняет маршрутизацию. Интернет недоступен из локальной сети. За одним забавным исключением: поиск DNS действительно работает.

В /etc/config/firewall файл содержит следующий раздел:

config forwarding
    option src 'lan'
    option dest 'wan'
    option mtu_fix '0'

Но когда я перечисляю цепочку POSTROUTING iptables, ничего нет

# iptables -L POSTROUTING
iptables: No chain/target/match by that name.

# iptables -t nat -L POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target     prot opt source        destination

ОБНОВИТЬ

Итак, я попытался добавить маскировку вручную, и, похоже, это сработало:

# iptables -t nat -A POSTROUTING -o pppoe-wan -j MASQUERADE
# iptables -t nat -L POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target     prot opt source        destination
MASQUERADE all  --  anywhere      anywhere

И вуаля, вдруг интернет работает из локальной сети. Но почему правило iptables не добавлено на основе конфигурации UCI в /et/config/firewall?

ОБНОВЛЕНИЕ 2

Я добавил правило исправления iptables к пользовательским правилам в веб-интерфейсе. Затем я проверил, действительно ли он вставлен в /etc/firewall.user который входит в /etc/config/firewall. Но после перезагрузки правило не отображается в iptables. И нет интернета в локальной сети. Похоже на проблему синтаксического анализа конфигурации UCI ...

ОБНОВЛЕНИЕ 3

Оказывается, у меня вообще не было брандмауэра. Мой /etc/config/firewall полностью игнорируется. Просто отсутствие правил фильтрации заметить сложно.

Маскарадинг настраивается OpenWrt, только если вывод zone настроен для этого.

Например:

config zone
        option name 'wan'
        option masq '1'
        #...everything else

Или в веб-интерфейсе:

Разбор конфигурации UCI, похоже, не работает. Проблема временно устранена путем добавления строки в /etc/rc.local:

iptables -t nat -A POSTROUTING -o pppoe-wan -j MASQUERADE