Jump to content

Question

Posted

Вопрос, который давно уже поднимался, но лично для меня встал острее с появлением туннелей.

На текущий момент единственный вариант не натировать сеть через туннель - отключить ip nat полностью, воспользовавшись ip static, однако он требует наличия статического IP - https://zyxel.ru/kb/3252/

По вполне очевидным причинам во многих случаях этот вариант совсем не приемлем (разве что играться со скриптами в entware).

Варианты реализации с точки зрения пользователя, на мой взгляд:

- в ip nat добавить опциональный исходящий интерфейс, описывая таким образом что натить, а что нет (скажем, натить Home->ISP, Guest ->ISP, IPIP0->ISP, но не натить IPIP<->Home)

- в ip static добавить возможность указания исходящего интерфейса, чтобы автоматически брался IP с этого интерфейса

Recommended Posts

  • 0
Posted
1 час назад, dexter сказал:

Проверил, все работает спасибо.

Поддержу вопрос KorDen

Или можно только по имени интерфейса?


ip static Home ISP

 

Адрес тоже поддерживается.

> ip static 192.168.0.0 255.255.252.0 ISP

> ip static 192.168.0.0 255.255.252.0 UsbLte0

Единственное важное - чтобы исходящие интерфейсы были public.

  • Thanks 2
  • 0
Posted

Радость была не долгой.

Отловился первый глюк. 

После введения: 

ip static Home ISP
ip static Vlan101 ISP

пропадают правила проброса портов и соответственно проброс не работает(затерлись).

Если прописать старой командой: 

ip nat Home
ip nat Vlan101

правила появляются вновь(если их повторно добавить в вэб морде).

Пока вернул как было.

Если нужна какая информация скину в кратчайшие сроки.

  • 0
Posted
24 минуты назад, dexter сказал:

пропадают правила проброса портов и соответственно проброс не работает(затерлись).

Правила действительно пропали из Web-интерфейса, но в CLI они отображаются и работают, иначе бы я узнал об этом несколько часов назад.

на данный момент у меня пока только

ip nat udp-port-preserve
ip nat vpn
ip static Home ISP
ip static Guest ISP

И кучка правил типа ip static tcp ISP 12345 192.168.1.50 !service

 

Кстати говоря, udp-port-preserve будет работать в такой конфигурации же как и раньше?

  • 0
Posted

В том-то и дело, что у меня они работать перестали. OVPN не подключился и на графиках я увидел, что удаленная точка не подключена. При этом какое-то время после прошивки они работало(около 2х часов).

  • 0
Posted
19 часов назад, dexter сказал:

Радость была не долгой.

Отловился первый глюк. 

После введения: 


ip static Home ISP
ip static Vlan101 ISP

пропадают правила проброса портов и соответственно проброс не работает(затерлись).

Если прописать старой командой: 


ip nat Home
ip nat Vlan101

правила появляются вновь(если их повторно добавить в вэб морде).

Пока вернул как было.

Если нужна какая информация скину в кратчайшие сроки.

Спасибо за репорт, проверим.

  • 0
Posted
23 часа назад, Le ecureuil сказал:

Адрес тоже поддерживается.

> ip static 192.168.0.0 255.255.252.0 ISP

> ip static 192.168.0.0 255.255.252.0 UsbLte0

Единственное важное - чтобы исходящие интерфейсы были public.

Важное замечание - этот синтаксис не работает так, как ожидается. При этом еще и включается проброс портов с сетей 192.168.0.0/255.255.252.0 на адрес интерфейса ISP, что противоречит логике.

Короче, единственный рабочий вариант:

> ip static <in-iface> <out-iface>

  • 0
Posted (edited)
35 минут назад, Le ecureuil сказал:

Важное замечание - этот синтаксис не работает так, как ожидается. При этом еще и включается проброс портов с сетей 192.168.0.0/255.255.252.0 на адрес интерфейса ISP, что противоречит логике.

Короче, единственный рабочий вариант:

> ip static <in-iface> <out-iface>

Значит клиентов без интефейса типа VirtualIP выборочно натить не получится?

А то я уже губу раскатал, но глядя на iptables начинаю закатывать обратно

ЗЫ надо бы к команде в первом предикате значение any прикрутить :grin:

Edited by r13
  • 0
Posted
12 минуты назад, r13 сказал:

Значит клиентов без интефейса типа VirtualIP выборочно натить не получится?

А то я уже губу раскатал, но глядя на iptables начинаю закатывать обратно

ЗЫ надо бы к команде в первом предикате значение any прикрутить :grin:

Безынтерфейсные пока вообще без вариантов.

Прикрутить не проблема, проблемы в обратной совместимости и в черезмерной перегруженности этой команды и неявном поведении в зависимости от настроек аргументов. Если мы сейчас что-то прикрутим не подумав, придется этот костыль таскать всегда, потому мы десять раз думаем перед разработкой новых команд и особенно расширением старых.

  • 0
Posted
1 час назад, Le ecureuil сказал:

Web ничего не знает о новой команде, и затирает ее полностью (как и любую другую команду ip static, не относящуюся к пробросу портов).

Потому если хотите выключения nat индивидуально по сегментам - настраивайте проброс портов через ip static тоже только в CLI.

Больше проблем не замечено.

Про вэб это я понял.

Спасибо. Завтра попробую.

  • 0
Posted
2 часа назад, Le ecureuil сказал:

Безынтерфейсные пока вообще без вариантов.

Прикрутить не проблема, проблемы в обратной совместимости и в черезмерной перегруженности этой команды и неявном поведении в зависимости от настроек аргументов. Если мы сейчас что-то прикрутим не подумав, придется этот костыль таскать всегда, потому мы десять раз думаем перед разработкой новых команд и особенно расширением старых.

Может тогда стоит не эту команду обвешивать новыми функциями, а расширять команду ip nat ?

 

  • Thanks 1
  • 0
Posted (edited)
5 часов назад, Le ecureuil сказал:

Web ничего не знает о новой команде, и затирает ее полностью (как и любую другую команду ip static, не относящуюся к пробросу портов).

Потому если хотите выключения nat индивидуально по сегментам - настраивайте проброс портов через ip static тоже только в CLI.

Больше проблем не замечено.

Аналогичная проблема, отключив нат и включив на нужном интерфейсе и прописав через CLI нужные порты вроде работает проброс.

Вам уже пора продвинутый интерфейс делать, а то слишком много функционала за кадром, но это не самая большая проблема, хуже что веб интерфейс стирает настройки сделанные через CLI

Подобная проблема наблюдается если редактировать какой нибудь интерфейс на порту которого раскрыт акцес влан и параллельно висит один или несколько trunk вланов. После редактирования из конфига пропадают строки с акцес вланом, и к роутеру теряется доступ, проблема была замечена на GIga2, DSL, Lite 3,. Giga3

Edited by distinctive
  • Thanks 1
  • 0
Posted
11 час назад, r13 сказал:

Может тогда стоит не эту команду обвешивать новыми функциями, а расширять команду ip nat ?

 

ip nat - это для "автоматики", которая вам как раз и не нужна.

  • 0
Posted
9 часов назад, distinctive сказал:

Аналогичная проблема, отключив нат и включив на нужном интерфейсе и прописав через CLI нужные порты вроде работает проброс.

Вам уже пора продвинутый интерфейс делать, а то слишком много функционала за кадром, но это не самая большая проблема, хуже что веб интерфейс стирает настройки сделанные через CLI

Подобная проблема наблюдается если редактировать какой нибудь интерфейс на порту которого раскрыт акцес влан и параллельно висит один или несколько trunk вланов. После редактирования из конфига пропадают строки с акцес вланом, и к роутеру теряется доступ, проблема была замечена на GIga2, DSL, Lite 3,. Giga3

Да, web стирает настройки в cli, и это не считается багом: как только вы сами полезли в cli, то считается что вы понимаете что делаете.

  • 0
Posted
8 минут назад, Le ecureuil сказал:

ip nat - это для "автоматики", которая вам как раз и не нужна.

Автоматика, автоматикой, но по логике ip static команда для проброса портов, ip nat команда для управления NAT. Нам по сути нужна автоматика только более гибкая. По минимуму натить не по условию интерфейса источника а по интерфейсу назначения. 

Если усложнять, то еще добавить в эту схему адрес источника. То есть по сути то что была попытка реализовать с помощью ip static

ИМХО что то вроде:

ip nat {interface | ip address/mask | any} {out interface}

  • 0
Posted
27 минут назад, r13 сказал:

Автоматика, автоматикой, но по логике ip static команда для проброса портов, ip nat команда для управления NAT. Нам по сути нужна автоматика только более гибкая. По минимуму натить не по условию интерфейса источника а по интерфейсу назначения. 

Если усложнять, то еще добавить в эту схему адрес источника. То есть по сути то что была попытка реализовать с помощью ip static

ИМХО что то вроде:

ip nat {interface | ip address/mask | any} {out interface}

Нет, логика неправильная.

ip static - это ручное управление любым NAT, как SNAT, так и DNAT, так и вообще отключение NAT (подробности в CLI Guide).

ip nat - это автоматика (в первую очередь для упрощения работы Web).

  • 0
Posted
1 минуту назад, Le ecureuil сказал:

Нет, логика неправильная.

ip static - это ручное управление любым NAT, как SNAT, так и DNAT, так и вообще отключение NAT (подробности в CLI Guide).

ip nat - это автоматика (в первую очередь для упрощения работы Web).

Ок.

  • 0
Posted
2 часа назад, Le ecureuil сказал:

ip static - это ручное управление любым NAT, как SNAT, так и DNAT, так и вообще отключение NAT (подробности в CLI Guide).

ip nat - это автоматика (в первую очередь для упрощения работы Web).

Ручное управление с нюансами :\ Лично у меня от текущего варианта CLI Guide уже в голове появляется каша без примеров (которых в гайде толком и нет), а с нюансами типа "синтаксис не работает так, как ожидается" и совсем путаница.

Надо все-таки что-то с этим делать... Еще до кучи к этому всему напрягает проблема невозможности применения правил фаервола для транслируемых портов.

3 часа назад, Le ecureuil сказал:

как только вы сами полезли в cli, то считается что вы понимаете что делаете.

Еще бы выводить в WEB что-то типа "внимание, текущая конфигурация может быть несовместима с настройкой через Web-интерфейс"

  • 0
Posted
6 часов назад, Le ecureuil сказал:

как только вы сами полезли в cli, то считается что вы понимаете что делаете.

3 часа назад, KorDen сказал:

Еще бы выводить в WEB что-то типа "внимание, текущая конфигурация может быть несовместима с настройкой через Web-интерфейс"

Тут поддерживаю, так как я понимаю что делаю когда лезу в CLI, а буквально недавно после того как настроил всё, другой человек зашел на веб перезапустить интерфейс, и как только он нажал применить, все вланы стерлись и доступ соответсвенно потерян.

 

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...