ale_xb
-
Posts
47 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by ale_xb
-
-
В 17.11.2022 в 23:42, krass сказал:
В будущей keen os 4.0 ? А 3.х уйдет в небытие , так?
Судя по тому, что уже тестируется 4.0 alfa 5 и в списке есть, например, интересующая меня Ultra II надежда есть!
-
В 29.06.2022 в 12:00, avn сказал:
Поэтому был модифицирован скрипт /opt/etc/ndm/ifstatechanged.d/000-fix-Wireguard2.sh
Я все же не понимаю, как конфиг из web-интерфейса (для ipv4 только) будет соседствовать с конфигом из скрипта. Указанный в скрипте Endpoint engage.cloudflareclient.com разрешается в два адреса ipv6 и ipv4. Скрипт в качестве конфига, судя по всему, прописывает ipv6 адрес. Как только скрипт срабатывает, туннель wireguard в web-интерфейсе сразу падает. Что я неправильно делаю/понимаю?
-
16 минут назад, avn сказал:
Пакет, вроде wireguard-utils.
Нашел, спасибо. wireguard-tools
16 минут назад, avn сказал:На 3.7.4 ip -6 rule не работает.
Да, в курсе, буду апгрейдиться до 3.8 в delta, как выйдет.
-
В 30.06.2022 в 12:00, avn сказал:
Сутки с редиректами по ipv6. Полет нормальный. Огромное спасибо, товарищи разработчики!!!
у меня 3.7.4. Насколько понимаю, в этом случае надо просто добавить для ipv6 адрес на интерфейс Wireguard и AllowedIPs в параметры туннеля. Адрес добавляется без проблем, а AllowedIPs нет:
(config)> interface Wireguard2 wireguard peer <Public Key peer-а> allow-ips ::/0
Command::Base error[7405602]: address: argument parse error.Похоже, в CLI также не предусмотрена установка параметров Wireguard для ipv6, как и в веб интерфейсе. Также я не могу воспользоваться и вашим способом, т.к. у меня нет команды wg. Из какого пакета Entware она?
Я верно понял вот это ваше замечание "нужен ещё аналог ipv6 nat Wireguard2, например для warp. А иначе с br0 идут реальные ipv6 адреса", что пакеты из туннеля приходят с ipv6 warp-а, а не пира в этом туннеле Wireguard...? Почему так, ведь у вас же прописан маскарадинг
ip6t POSTROUTING -t nat -o nwg2 -j MASQUERADE
?
-
36 минут назад, avn сказал:
Ошибка в документации
Если я, наконец, правильно Вас понял, то update-dhcp в действительности поддерживается, просто его забыли описать. Ок, спасибо еще раз. Попробую все это доделать на днях.
И все же последнее
- не правильнее ли это делать через файл hosts?
- можете, что сказать по полному отказу от ndhcps в пользу dnsmasq, что я мог неверно сделать и мне следует проверить?
-
1 час назад, avn сказал:
[ "$type" != "update_dhcp" ] && exit 0
Все же я что-то не понимаю. Вы же сами выше писали, что действие update-dhcp не поддерживается в neighbour.d, т.е. скрипт update-dhcp.sh не будет никогда запускаться.
-
Ура, работает. Спасибо! Уточнения:
1. Требуется установить парсер json:
opkg install jq
2. В строке curl ..... вместо server, вероятно, следует писать address, т.е.
curl -s http://localhost:79/rci/show/ip/dhcp/bindings 2>/dev/null | jq -r '.lease[] | "address=/" + .name + ".lan/" + .ip' > $dns_dhcp_tmp
директива server говорит, что для данного домена за разрешением имен следует обращаться на хост с указанным IP, т.е. DNS запрос для, например, xyz.lan будет форвардиться dnsmasq-ом в этом случае на ip этого самого xyz.lan и, разумеется, оставаться безответным - NXDOMAIN. address - тоже не правильный вариант, т.к. для, например, abc.xyz.lan будет возвращен тот же ip, что и для xyz.lan (см.Доп.вопросы ниже), но этого в моем случае достаточно.
3. Пока не доделал/разобрался, как, куда и на какое действие правильно повесить этот скрипт. Займусь попозже.
Доп.вопросы:
- А в чем разница, если аналогичным скриптом обновлять файл hosts ? Что лучше/правильнее - hosts или конфиг dnsmasq-а? Вроде, hosts приоритетнее конфига dnsmasq и не будет неоднозначности для abc.xyz.lan/xyz.lan.
- не понятно, почему аналогичного результата я не смог добиться, когда пытался в качестве DHCP использовать dnsmasq вместо прошивочного ndhcps. Может, это более правильный и простой путь без доп.скриптов, и мне надо только разобраться с конфигом dnsmaq в части его DHCP функционала, аналогичного команде
ip dhcp pool _WEBADMIN update-dns
у прошивочного ndhcps Keenetic?
-
1 час назад, avn сказал:
А чем хук не устраивает для локальных адресов, приведенный выше? Для сети домена - разрешают адрес вышестоящий днс сервер.
Вы об update-dhcp, которого нет? Или я вас не понял. Устроит любой вариант. Мне бы простыми словами понятную инструкцию...
-
пробовал отключить прошивочный ndhcps и раздавать всё необходимое по DHCP средствами dnsmasq. Работает, но нужного результата я все равно не смог добиться, не хватает понимания настроек dnsmasq.conf, вероятно. Может, кто помочь конкретным конфигом? Повторю задачу (конкретные значения указаны в качестве примера):
1. Раздать ip адреса в домашней локалке, например, 192.168.0.2-200.
2. Сообщить вместе с ip адресом:
- правильную маску /24
- шлюз по умолчанию 192.168.0.1
- DNS сервер 192.168.0.1 При необходимости он уже сам либо отвечает за домен домашней локалки, либо форвардит запрос upstream-у по DoT/DoH, либо DNS серверу в рабочей сети, полученному при поднятии соответствующего VPN, с привязкой к ее (рабочей сети) домену work-domain.
- адрес(а)/имена NTP сервера(ов) - это просто для удобства pool.ntp.org
- имя домена домашней локалки home
3. Получить в процессе назначения IP адреса запросившему его хосту в домашней локалке его (хоста) hostname и зарегистрировать данное имя, как hostname.home в базе лиз dnsmasq и/или файле hosts
В итоге должны успешно разрешаться имена вида xyz и xyz.home для хостов в домашней локалке и abc.work-domain для хостов в рабочей сети, ну и, разумеется, ya.ru, google.ru и все остальное.
Проблема у меня именно с п.3 😒
-
В 07.04.2022 в 23:32, ale_xb сказал:
Аналогичная строка для рабочего DNS сервера у меня тоже есть в dnsmasq.conf :
server=/my_work_domain.local/10.10.1.2#53
но теперь она также не работает. И, кстати, что делать, если завтра "прилетят" при поднятии vpn другие адреса рабочего DNS сервера, руками менять их в dnsmasq.conf?
С этим разобрался. DNS серверы на работе нормально "прилетают" при поднятии VPN и разрешают имена для рабочего домена. Cрабатывала защита от получения ответов апстримов с частными ip адресами из-за вот этой строки в dnsmasq.conf
stop-dns-rebind
Пришлось добавить рабочий домен в исключения:
rebind-domain-ok=/onion/home/my_work_domain.local/
-
Заметил еще одну странность dnsmasq. Это не совсем по теме, но близко. При попытке ping storage.xxx.local хоста в рабочем домене с хоста в домашней LAN вижу в tcpdump на роутере, что идет попытка разрешения указанного имени. При этом запрос корректно форвардится на рабочие DNS серверы и приходит правильный ответ. Здесь все ожидаемо, вопросов не вызывает.
Скрытый текстApr 9 11:02:07 keenetic dnsmasq[5616]: query[A] storage.xxx.local from 192.168.100.10
Apr 9 11:02:07 keenetic dnsmasq[5616]: forwarded storage.xxx.local to 10.10.1.2
Apr 9 11:02:07 keenetic dnsmasq[5616]: forwarded storage.xxx.local to 10.10.1.5
Apr 9 11:02:07 keenetic dnsmasq[5616]: reply storage.xxx.xxxis 10.10.1.4Но, если послать явный запрос на разрешение этого же имени командой nslookup storage.xxx.local, сначала формируется запрос с добавлением доменного суффикса home моей домашней LAN и только затем следует правильный запрос без оного. Если в конце запрашиваемого в nslookup FDQN поставить точку, то суффикс home ожидаемо не добавляется. Я ожидал, что суффикс будет добавляться только для запросов по имени без какого-либо суффикса вовсе. Можно ли добиться именного такого поведения dnsmasq, что надо поправить в его конфиге?
Скрытый текстApr 9 11:02:29 keenetic dnsmasq[5616]: query[A] storage.xxx.local.home from 192.168.100.10
Apr 9 11:02:29 keenetic dnsmasq[5616]: forwarded storage.xxx.local.home to 127.0.0.1
Apr 9 11:02:29 keenetic dnsmasq[5616]: forwarded storage.xxx.local.home to 127.0.0.1
Apr 9 11:02:29 keenetic dnsmasq[5616]: query[A] storage.xxx.local from 192.168.100.10
Apr 9 11:02:29 keenetic dnsmasq[5616]: cached storage.xxx.local is 10.10.1.4
-
Помогите разобраться, пожалуйста. Тему прочитал, но так и не понял, куда обращается сам роутер при разрешении имен с DoT/DoH. У меня настроен DoT на 3 сервера 1.0.0.1, 8.8.4.4, 9.9.9.9 на странице "Интернет-фильтр", других DNS в web-интерфейсе нигде не указано. Также "прилетают" DNS серверы из двух VPN подключений PPTP 192.168.0.1 (домен не важен и не указан, т.к. здесь инфо от этого DNS не использую) и OpenVPN 10.10.1.2, 10.10.1.5 (домен xxx.local). Адрес роутера в домашней локалке (домен home) 192.168.100.1. В web интерфейсе в настройках подключения к провайдеру установлена галочка "Игнорировать DNS". Вместо встроенного ndhcps (53-й его порт "погашен" командой opkg dns-override) настроен dnsmasq. Конфиг вот:
Скрытый текстuser=nobody
domain-needed # Never forward plain names (without a dot or domain part)
bogus-priv # Fake reverse lookups for RFC1918 private address ranges,
# i.e. never forward addresses in the non-routed address spaces
no-negcache # Do NOT cache failed search results
clear-on-reload # Clear DNS cache when reloading dnsmasq
bind-dynamic
listen-address=192.168.100.1
listen-address=127.0.0.1
min-port=4096 # Specify lowest port available for DNS query transmission
cache-size=1536 # Specify the size of the cache in entries
expand-hosts # Expand simple names in /etc/hosts with domain-suffix
log-async # Enable async. logging; optionally set queue length
stop-dns-rebind # Reject (and log) addresses from upstream nameservers which are in the private ranges
rebind-localhost-ok # Exempt 127.0.0.0/8 and ::1 from rebinding checks
rebind-domain-ok=/onion/
domain=home#Настройки обхода блокировок из файла доп.конфига
conf-file=/opt/etc/unblock.dnsmasq#Настройки для доступа к .onion
server=/onion/127.0.0.1#9053
ipset=/onion/unblock,unblock6#Настройки для доступа к .ххх.local
server=/ххх.local/10.10.1.2#53 # Add other name servers here, with domain specs if they are for
server=/ххх.local/10.10.1.5#53 # non-public domains#Настройки для использования встроенных в Keenetic DNS-over-TLS или DNS-Over-HTTPS
no-resolv # Do NOT read resolv.conf
server=127.0.0.1#40500
server=127.0.0.1#40501
server=127.0.0.1#40502
теперь, что я вижу и вопросы:
1. В web-интерфейсе (Системный монитор/Подробнее о соединении):
- DNS-серверы 2a02:2168:208:1::1
- 2a02:2168:208:2::1
Судя, по всему, "Игнорировать DNS" не распространяется на ipv6. Его можно (проверил), отключить командой interface ISP no ipv6 name-servers auto, но, будет ли в таком случае работать bootstrap для DoT/DoH (не выяснил). И, похоже, нет смысла ставить галочку "Игнорировать DNS", верно?
2. По команде show ip name-server я вижу все серверы - из п.1, и "прилетевшие по VPN", правда провайдерские ipv6 DNS почему-то указаны, как "Client-eth3", хотя ISP у меня GigabitEthernet1, как у большинства:
Скрытый текстshow ip name-server
server:
address: 192.168.0.1
port:
domain:
global: 0
service: PPTP0
interface: PPTP0server:
address: 10.10.1.5
port:
domain:
global: 0
service: OpenVPN0
interface: OpenVPN0server:
address: 10.10.1.2
port:
domain:
global: 0
service: OpenVPN0
interface: OpenVPN0server:
address: 2a02:2168:208:1::1
port:
domain:
global: 0
service: Ip6::Dhcp::Client-eth3
interface: GigabitEthernet1server:
address: 2a02:2168:208:2::1
port:
domain:
global: 0
service: Ip6::Dhcp::Client-eth3
interface: GigabitEthernet13. По команде show dns-proxy я вижу три моих DoT сервера. Здесь почему-то статические записи для устройств в домашней локалке указаны дважды - с и без домена home. Это нормально?
Скрытый текст(config)> show dns-proxy
proxy-status:
proxy-name: Systemproxy-config:
rpc_port = 54321
rpc_ttl = 10000
rpc_wait = 10000
timeout = 7000
proceed = 500
stat_file = /var/ndnproxymain.stat
stat_time = 10000
dns_server = 127.0.0.1:40500 . # 1.0.0.1@cloudflare-dns.com
dns_server = 127.0.0.1:40501 . # 8.8.4.4@dns.google
dns_server = 127.0.0.1:40502 . # 9.9.9.9@dns.quad9.net
static_a = my.keenetic.net 78.47.125.180
static_a = keenetic.local 192.168.100.1
static_a = 289b3153dd5a471547d36f6e.keenetic.io 78.47.125.180
static_a = A50 192.168.100.100
static_a = A50.home 192.168.100.100
static_a = M2101K7BNY 192.168.100.240
static_a = M2101K7BNY.home 192.168.100.240
static_a = Delta 192.168.100.10
static_a = Delta.home 192.168.100.10
padding = on
norebind_ctl = on
norebind_ip4net = 10.1.30.1:24
norebind_ip4net = 192.168.100.1:24
norebind_ip4net = 255.255.255.255:32
set-profile-ip 127.0.0.1 0
set-profile-ip ::1 0
rpc_only = onproxy-stat:
# ndnproxy statistics file
Total incoming requests: 13
Proxy requests sent: 14
Cache hits ratio: 0.000 (0)
Memory usage: 3.33KDNS Servers
Ip Port R.Sent A.Rcvd NX.Rcvd Med.Resp Avg.Resp Rank
127.0.0.1 40500 2 2 0 397ms 202ms 4
127.0.0.1 40501 0 0 0 0ms 0ms 2
127.0.0.1 40502 12 11 0 43ms 47ms 10proxy-safe:
proxy-tls:
server-tls:
address: 1.0.0.1
port:
sni: cloudflare-dns.com
spki:
interface:server-tls:
address: 8.8.4.4
port:
sni: dns.google
spki:
interface:server-tls:
address: 9.9.9.9
port:
sni: dns.quad9.net
spki:
interface:proxy-tls-filters:
Кстати, попутный вопрос: Как назначаются ранки этим серверам? По выводу так и не ясно. Максимальный - и не у самого быстрого, и не у самого медленного.
4. Проверяю на роутере, как идет разрешение имен. Почему, если не указать явно DNS сервер, обращение идет к серверу, "прилетевшему" по VPN PPTP ? Возможно, потому, что у меня для этого сервера не указан домен (см.самое начало поста)? Можно ли ему указать абстрактный фейковый в настройках dnsmasq, чтобы к нему не было обращений? Но в любом случае, получается, сам роутер для разрешения имен не использует dns-proxy и соответственно DoT/DoH. Разве так должно быть?
И подскажите, пожалуйста, как проверить/убедиться с хоста в локалке, что для него разрешение имен идет через dns-proxy, т.е. своего рода трассировку запросов/ответов DNS.
Скрытый текстroot@keenetic:/opt/etc$ nslookup ya.ru
Server: 192.168.0.1
Address 1: 192.168.0.1Name: ya.ru
Address 1: 2a02:6b8::2:242 ya.ru
Address 2: 87.250.250.242 ya.ru
root@keenetic:/opt/etc$ nslookup ya.ru 127.0.0.1
Server: 127.0.0.1
Address 1: 127.0.0.1 localhostName: ya.ru
Address 1: 2a02:6b8::2:242 ya.ru
Address 2: 87.250.250.242 ya.ruСобственно dns-proxy работает. tcpdump на lo интерфейсе показывает обращения на порты 40500-40502, да и вывод статистики в п.3 это подтверждает.
-
3 часа назад, Александр Рыжов сказал:
@ale_xb, у вас единственная нерешённая задача:
верно? Пока не понял зачем вас связки MAC-hostname, если надо просто разрешать имена из локальной сети, например, myclient.lan. Достаточно строчки в конфиге dnmasq:
server=/lan/127.0.0.1#10053
Вроде я про связки MAC-ов ничего не говорил. Да, требуется просто обычное разрешение имен в домашней и рабочей сети. В домашней (соответствующем ей домене) - для hostname-ов устройств, которые они сами сообщают при получении настроек от DHCP сервера, в рабочей (тоже для своего домена) - согласно тому, что сообщают DNS сервера, полученные при поднятии vpn соединения.
Указанная строка теоретически должна бы работать, но, как я писал выше, я не обнаружил, что встроенный ndhcps слушает что-то кроме 67 порта после выполнения команды opkg dns-override. Аналогичная строка для рабочего DNS сервера у меня тоже есть в dnsmasq.conf :
server=/my_work_domain.local/10.10.1.2#53
но теперь она также не работает. И, кстати, что делать, если завтра "прилетят" при поднятии vpn другие адреса рабочего DNS сервера, руками менять их в dnsmasq.conf?
-
1 час назад, Le ecureuil сказал:
Совсем тупой вариант, но в целом рабочий - это по вызову neighbour.d с action == update_dhcp получать из ndmq список dhcp-лизов через 'show ip dhcp bindings', засовывать в dnsmasq и слать ему сигнал на перечитывание конфига.
Думал о чем-то подобном, но (для меня точно) это уж как-то слишком сложно, т.к. потребует, вероятно, написание скрипта для обработки вывода show ip dhcp bindings
Более подходящим представляется путь, указанный vasek00 с учетом сказанного Le ecureuil "127.0.0.1:10053 вроде бы, для своих нужд внутренних". Хотя, я и не вижу, чтобы ndhcps занимался чем-то кроме DHCP после команды opkg dns-override
root@keenetic:~$ netstat -atunp | grep ndhcp
udp 0 0 0.0.0.0:67 0.0.0.0:* 6553/ndhcps
udp 0 0 0.0.0.0:67 0.0.0.0:* 6552/ndhcps
udp 0 0 0.0.0.0:68 0.0.0.0:* 1130/ndhcpc
udp 0 0 0.0.0.0:68 0.0.0.0:* 650/ndhcpc
UPD: ТП заверила, что никаких особых зависимостей других служб от ndhcps нет. Советовали только обратить внимание на обнаружение устройств по WiFi (группа команд ip hostpot), но я пока не сообразил, как это может быть связано. Таким образом, самый простой путь, вероятно, запуск/настройка DHCP на dnsmasq с отключением встроенного командой no service dhcp
-
1 час назад, Александр Рыжов сказал:
Я бы попробовал следующее:
- назначил основным DNS-сервером dnsmasq,
- в настройках кинетика прописал локальный домен, например, lan,
- указал dnsmasq'у разрешать имена домена .lan через прошивочный DNS-сервис.
-Так и сделано
- Настроено
- Чтобы заработал dnsmasq прошивочный DNS отключается специальной командой в CLI KeeneticOS opkg dns-override. Насколько я понял, эта команда просто убирает прослушку 53-го порта прошивочным ndhcps, чтобы не конфликтовать с dnsmasq. Собственно ndhcps в запущенных процессах остается, т.к. он же продолжает работать в качестве DHCP, поэтому и появилаcь мысль из п.3, но каких-либо файлов настроек для ndhcps я не обнаружил, параметры его запуска весьма скудны (для смены порта ничего нет), и даже, где/как на это повлиять я тоже не знаю.
Если это поможет, добавлю подробностей. Началось вот с этого https://habr.com/ru/post/428992/ При этом используется (там же в комментариях) встроенный в KeeneticOS механизм прокси DNS (для DoT/DoH в частности). Спустя небольшое время, я обнаружил, что у меня перестали разрешаться имена в домашней локалке и рабочей (через openvpn) сети. При этом средствами/командами KeeneticOS я вижу, что встроенный ndhcps успешно регистрирует имена хостов в моей домашней сети при общении с ними по DHCP. Теперь пытаюсь решить проблему, как эту инфо сообщить dnsmasq-у. Если я правильно понял, то, следует как-то разруливать DNS запросы через dns-proxy KeeneticOS (есть подозрение, что он работает/настраивается, к сожалению, только для DoT/DoH) к а) прошивочному ndhcps для домена домашней сети (при этом его надо заставить слушать на отличном от 53 порту), б) к NDS серверам, прилетающим через openvpn для домена рабочей сети, в) к DoT/DoH - для всех остальных. Осталось все это правильно настроить, если такое возможно 🙂
-
Требуется организовать совместную работу встроенного в Keenetic DHCP сервера и внешнего (dnsmasq из OPKG/Entware) сервера DNS. Хочется, чтобы узлы в домашней LAN, автоматически получающие ip адресацию по DHCP, также автоматически регистрировали свой hostname в dnsmasq, по которому (hostname с или без добавления домена) к ним можно обращаться в пределах LAN. Использование dnsmaq вместо ndhcps вызвано необходимостью поддержки ipset. Мне видятся 3 возможных варианта решения: 1) dnsmasq мог бы читать данные из dhcpd.lease, но, судя по всему, этот файл не использует ndhcps; 2) полный отказ от ndhcps и раздача ip адресов средствами dnsmasq, но это может серьезно влиять на другие составляющие NDM, которые используют результаты работы ndhcp; 3) использование DNS прокси для перенаправления запросов на разрешение имен в домашней LAN от dnsmasq к ndhcps (как это настроить?). При этом хочется учесть возможные нюансы с дополнительными DNS серверами, получаемыми через VPN подключение, например, к корпоративной сети и используемыми для разрешения имен в рабочей LAN. ТП Keenetic ожидаемо открестилась от вопроса ("мы не поддерживаем пакеты entware"), сообщив только, что следует рассмотреть вариант 2. Я во всем этом не силен, опасаюсь поломать зависимости ndhcps, поэтому обращаюсь за помощью к сообществу.
У кого-то есть опыт успешной настройки такого сценария?
-
кто-то может подсказать/разжевать, как правильно настроить доступ к i2p доменам по аналогии с onion? Я не понял, что следует прописывать в качестве маппинга ip адресов, как их выбирать в torrc (параметр VirtualAddrNetworkIPv4/6) и в dnsmasq.conf.
-
спасибо, т.е. в моем случае все надо делать руками. Возможно, попробую пойти от обратного: сначала установлю asterisk от Keenetic на пустую флэшку, а затем добавлю/донастрою свои пакеты в entware. В общем, подумаю, что для меня будет проще.
Еще уточните, пожалуйста, если пойти по вашему рецепту, стартовый скрипт запуска asterisk установится или его надо тоже руками копировать и править?
-
В 12.01.2022 в 11:59, sips сказал:
В настройках OPKG вашего роутера KN-2710 отключите раздел с файловой системой ....
У меня уже установлен entware и в нем несколько пакетов (mc, openconnect,...). Сейчас хочу добавить asterisk 18 сборки команды Keenetic. Как мне правильно действовать, чтобы сохранить уже установленные пакеты entaware?
-
В 17.12.2021 в 10:00, r13 сказал:
В вашем случае nat/firewall тоже нужно настраивать в еntware
Оказалось, что не обязательно. Достаточно добавить стандартными средствами Keenetic Cli или проще через web-интерфейс разрешающее правило (спасибо ТП), цитирую: "на Home сегменте достаточно сделать правило вида источник: локальная сеть, назначение: удалённая сеть, протокол: ip, действие: разрешить"
У меня сразу все заработало. В netfilter правило в моем случае выглядит так (добавляется в таблицу по умолчанию filter, цепочку @Bridge0 )
root@keenetic:/opt/etc$ iptables -nL @Bridge0
Chain @Bridge0 (1 references)
target prot opt source destination
ACCEPT all -- 192.168.100.0/24 172.27.96.0/20 -
Хочу понять, зачем ставить cron из entaware? Разве crond из состава прошивки/busybox не достаточно для этого?
-
В этом и сложность, что на систему (приходится) параллельно воздействуют из двух мест - на уровне NDM Shell CLI Keenetic и собственно ОС Linux/bash/...
-
Заработало. Дело оказалось, действительно в файрволе роутера. После команды no isolate-private доступ к хостам за vpn сервером из моей LAN появился. Мне это не совсем понятно, т.к. в справочнике CLI Keenetic написано, что всем создаваемым новым интерфейсам присваивается public security-level, а трафик из private (Home LAN) в public (tun1) разрешен по умолчанию. Возможно, здесь что-то работает не совсем так, т.к. интерфейс tun1 создан не средствами CLI, а вовсе доп.пакетом из entware и по команде show interface он (tun1) никак не отображается. Попробовал отключить nat-ирование, т.е. убрать правило маскарадинга, все работает и без него. Странно, мои проверки в предыдущем посте показывали его необходимость. Впрочем, tcpdump на интерфейсе tun1 показал, что icmp request уходят с src=ip tun1, т.е. nat-ирование все же работает и без моего доп.правила. В справочнике CLI keenetic нашел команду ip nat vpn которая включает/выключает nat-ирование для vpn клиентов. Во-первых, не ясно, работает ли эта команда для любых vpn-клиентов или только, встроенных в прошивку или для части из них, во-вторых, не указано ее значение по умолчанию, но, похоже, что "включено". Вот так выглядит цепочка POSTROUTING в таблице nat. Проверил, команда no ip nat vpn удаляет из этой цепочки последнее 4-е правило, но доступ из моей LAN к хостам за vpn-сервером сохраняется и в этом случае:
# iptables -t nat -nL POSTROUTING --line-numbers
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 _NDM_IPSEC_POSTROUTING_NAT all -- 0.0.0.0/0 0.0.0.0/0
2 _NDM_SNAT all -- 0.0.0.0/0 0.0.0.0/0
3 _NDM_MASQ all -- 0.0.0.0/0 0.0.0.0/0
4 MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0 ndmmark match 0x40/0x40
Я не силен в netfilter/iptables, и несколько десятков цепочек/правил в Keenetic понять (пока) не могу, но все равно придется разбираться, как теперь это (файервол) правильно настроить при поднятом туннеле opennconnect, чтобы не попортить настройки безопасности на роутере. Ну и стартовый скрипт для openconnect добавить, конечно.
-
Продолжу пока разговор самим с собой. Пробовал ловить трафик на интерфейсах tcpdump-ом. Обнаружил, что пинги с самого роутера ходят до хостов за vpn сервером нормально только с src=ip на tun1. Если попытаться указать src=ip другого интерфейса роутера, например, смотрящим внутрь LAN, echo request уходит с интерфейса tun1 в сторону vpn сервера нормально, но останется без ответа. Если же сначала добавить правило nat-ирования (моё сообщение выше), echo reply начинает приходить нормально и для этого src. Напрашиваются выводы:
1) nat-ирование нужно, т.к. vpn сервер дропает все, что пришло с "неправильного" интерфейса, т.е. src!=ip tun1;
2) при пингах хостов за vpn-сервером с любого хоста из моей LAN видно, что echo request нормально приходит на интерфейс br0, но на tun1 этот запрос не появляется. Вероятно, он дропается файерволом роутера. Надо разбираться с этим и/или, возможно, как уже писал выше с interface security-level . Позже попробую это подкрутить.
Tor на Keenetic
in Каталог готовых решений Opkg
Posted · Edited by ale_xb
Да, tor у вас не стартует. Подробности можно поискать в его логе. Могу предположить, что так как вы пытались использовать мосты, значит, прописывали их в конфиге tor-a и, возможно, где-то что-то сделали неверно, т.е., скорее всего, tor не запускается из-за неверного (ошибки в нем) конфига