-
Постов
4 768 -
Зарегистрирован
-
Посещение
-
Победитель дней
79
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Весь контент vasek00
-
На управление WG каналах так же, только WEB/cli или править конфиг.
-
TProxy не заработает, так как для маркировки в iptables нужно отключить hw_nat Берем например provixy чисто для пробы listen-address 127.0.0.1:8118 /opt/etc/init.d # netstat -ntulp | grep 8118 tcp 0 0 127.0.0.1:8118 0.0.0.0:* LISTEN 1880/privoxy /opt/etc/init.d # iptables -t mangle -A PREROUTING -i br0 -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 8118 --on-ip 127.0.0.1 ip rule add fwmark 1 lookup 100 ip route add local 0.0.0.0/0 dev lo table 100 После этого перестает работат WEB 80 порт роутера, ну как бы так и должно быть. Клиент из лок сети просматривает сайты которые открываются. 71 3692 TPROXY tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 TPROXY redirect 127.0.0.1:8118 mark 0x1/0x1 -t mangle ... --tproxy-mark 0x1/0x1 --on-port 8118 изменяется пакет, устанавливает mark перед маршрутизацией "ip rule add fwmark 1 ..." где все по умолчанию 0/0 идет в dev lo => помеченные пакеты идут в localhost на порт 8118 => тут просто смена маршрута. Проверял на скорую руку, но все работало, база 4.1.А.9 проц 7621 Прошивка классификация интернет-трафика + профиль по клиенту Делал еще хитрее HWNAT вообще не трогал не выше ни тут (включен по умолчанию и hard и soft). Ремарка в 4.1 сменена нумерация table на 10,11,12 c 42,43 и т.д. и маркировка на 0xffffaaa с 0xffffd00 По RAY там как то хитро https://gist.github.com/tossmilestone/b8ae168ae029e0a66da125b71979f5a2 https://dongdongbh.github.io/blog/tproxy/
-
А какже тогда маркировка в прошивке, которая практически везде используется, например клиент который помещен в профиль.
-
В наличие умные выключатели и программа Smart Life. Как писали выше все это работает в своем собственном сегменте 2.4 кроме них никого нет. Мало того в данном сегменте настройки Beamforming/QAM256/Airtime Fairness включены пока не мешают. Иногда бывает бзик, правда все работает все равно (тут уже писал про это), ну бзик (замечен как стабильный) и всегда при моих эксп. с клиентами и профилями для них в WEB роутера (клиентов умного дома вообще не трогаю). [I] Oct 10 00:58:47 ndm: Network::Interface::Mtk::WifiMonitor: "WifiMaster0/AccessPoint0": STA(хх:хх:хх:хх:хх:хх) had disassociated by STA (reason: STA is leaving or has left BSS). только MAC нормальный. Пока есть подозрения на что то из WEB, или в ПО контроль интерфейсов/таблиц/или еще что-то, так как в данное время делал часто перенос клиента из одного профиля в другой и только это. На вопрос описать данное сообщение "had disassociated by STA (reason: STA is leaving or has left BSS)" или с чем оно может быть связано, чтоб найти концы где смотреть - пока тишина.
-
41A11 - KN1811, "служба классификации трафика" всегда была включена, не чего такого от нее не обнаружено. Есть пики но это по "show threads" говорят о http/rci
-
Это только часть того что можно, а остальное где взять не подскажите.
-
Возможно ли реализовать что-то наподобие по стат. в Wifi из примера ниже http://demo.wi-cat.ru/ Данный роутер так же на базе Mediatek. Интересует вывод в части wifi - Статистика
- 2 ответа
-
- 4
-
-
На данном форуме ~ # wget -qO - localhost:79/rci/show/ip/policy { "Policy0": { "description": "Cloud", "mark": "ffffd00", "table4": 42, "route4": { "route": [ ... ~ # wget -qO - localhost:79/rci/show/interface | jq '.[] | select(.type=="Wireguard")' | jq -r '.id' Wireguard0 Wireguard2 Wireguard3 Wireguard4 ~ # ~ # curl -X POST -d '{}' "http://localhost:79/rci/interface/connect?name=PPPoE0&via=ISP" { "status": [ { "status": "message", "code": "72286209", "ident": "Network::Interface::Ppp", "message": "\"PPPoE0\": enabled connection via ISP interface." } ] }~ # ~ # curl -s 127.0.0.1:79/rci/show/interface | jq -r '.[] | select(."interface-name"=="ISP") | .id' GigabitEthernet1 ~ # ~ # curl -s "127.0.0.1:79/rci/ip/http/security-level" | grep ssl | sed 's/.ssl.://' | tr -d " " true ~ #
-
На форуме куча есть примеров через wget - например wget -qO - --post-data='[{"log":{"once":true}}]' localhost:79/rci/show Есть и еще - поиск Для меня проще команды "ip rule" + "ip ro show table XXXX" + достаточно один раз посмотреть вывод "show ip policy" Policy0 "description": "Cloud", "mark": "ffffd00", "table4": 42 .... "route": [ { ... "interface": "Wireguard0", ... }, { .... "interface": "Wireguard4", ... "Policy2": { "description": "Anti", "mark": "ffffd02", "table4": 44, "route4": { ... { ... "interface": "Wireguard4", ... сопоставить с конф файлом ip policy Policy0 description Cloud permit global Wireguard0 opkg install ip-full ip-bridge
-
Вам предложен вариант как это можно сделать. с проверкой поднятых интерфейсов видимо надо искать в других ветках... видимо так, на данном форуме есть куча вариантов описанных что и как только приложить некоторые усилия. Как говорится "без труда не выловишь и рыбку из пруда", второе "Подразумевается, что на нашем форуме пишут люди заинтересованные и технически подкованные, способные на минимальный анализ происходящего"
-
Пока на mips не гонял, но на arm в самой простой конфигурации proxy->REDIRECT (без routing и DNS) попробовал В итоге получил на 100Мбит канале - 100 выдает и по памяти
-
Хитро с встроенным.
-
В продолжение того что писал выше про использование - tun2socks или точнее xray-tun2socks 1. Конфиг по xray должен быть настроен на использование sokcs ... "inbounds": [ { "tag": "socks", "port": 10808, "listen": "127.0.0.1", "protocol": "socks", ... Примечание - do-not use dns name , instead use VPS ip address 2. В итоге получаем IP адрес которым уже можно управлять в прошивки 3. Вариант примера запуска. Есть переменные "xray_ip" (сервер) и "def_gate" (интерфейс через который можно добраться до данного сервера xray_ip) их можно определить пока "ручками" + далее уже подъем tun интерфейса + маршрут на сам сервер. #!/bin/bash #variables xray_ip=$(grep 'address' config.json | sed ':a;N;$!ba;s/\n//g' |sed 's/"//g'| sed 's/,//g' | awk '{print$2}') #This is a pretty bad way to find the remote ip . so if u can just paste the ip address of your VPS here def_gate=$(ip r | grep 'default' | awk '{print$3}') # This will output your default gateway ip address. ip tuntap add dev tun0 mode tun user tun2socks ip addr add 10.0.0.1/24 dev tun0 ## ip addr add fdfe:....::1/125 dev tun0 ip route add $xray_ip via $def_gate ip link set tun0 up ## ip -6 link set tun0 up ip route add default dev tun0 ## ip -6 route add default dev tun0 xray -c config.json > /dev/null & sleep 3 ./tun2socks -device tun://tun0 -proxy socks5://127.0.0.1:10808 # ip tuntap del dev tun0 mode tun # ip route del $xray_ip via $def_gate Основная команда тут "ip route add default dev tun0" т.е. если делать все в основном профиле то ВСЕ будет завернуто на него так как он tun0 будет default ну если нет каких то стат маршрутов на нужные IP. Можно попробовать с созданными профилями в прошифке но тогда команда будет выглядеть так ip route replaced default dev tun0 table НОМЕР_профиля ip route add xray_ip_сервер via IP_провайдера Надо попробовать будет на бесплатном 7 дневном vray сервере.
-
Ремарка по Proxy серверу. По работе proxy и им подобных - нужен все время доступ до адреса самого сервера, это делается стат маршрутом нужного адреса сервера через нужный интерфейс провайдера. Например сервер proxy 195......74 ip route add 195.IP_сервера.74 dev IF_интерфейс В прошивке же есть Proxy сервис и используется badvpn-tun2socks он так же есть в Entware ~ # opkg list | grep tun2socks badvpn - 1.999.133-1 - The tun2socks program "socksifes" TCP connections at the network layer. It implements a TUN device which accepts all incoming TCP connections (regardless of destination IP), and forwards the connections through a SOCKS server. This allows you to forward all connections through SOCKS, without any need for application support. It can be used, for example, to forward connections through a remote SSH server. ~ # но для запуска имеем /opt/bin # ./badvpn-tun2socks --netif-ipaddr is required Failed to parse arguments Usage: ./badvpn-tun2socks [--help] [--version] [--logger <stdout/syslog>] (logger=syslog? [--syslog-facility <string>] [--syslog-ident <string>] ) [--loglevel <0-5/none/error/warning/notice/info/debug>] [--channel-loglevel <channel-name> <0-5/none/error/warning/notice/info/debug>] ... [--tundev <name>] --netif-ipaddr <ipaddr> --netif-netmask <ipnetmask> --socks-server-addr <addr> [--netif-ip6addr <addr>] [--username <username>] [--password <password>] [--password-file <file>] [--append-source-to-username] [--udpgw-remote-server-addr <addr>] [--udpgw-max-connections <number>] [--udpgw-connection-buffer-size <number>] [--udpgw-transparent-dns] [--socks5-udp] Address format is a.b.c.d:port (IPv4) or [addr]:port (IPv6). -rwxr-xr-x 1 root root 217928 Aug 24 11:01 badvpn-tun2socks -rwxr-xr-x 1 root root 78576 Aug 24 11:01 badvpn-udpgw только --socks-server-addr <addr> а в прошивке еще и http/https badvpn-tun2socks --socks-server-addr <addr> .... и в итоге может быть как то так default dev t2s_tun0 scope link хх.IP_сервер.хх dev ppp0 scope link Возможно тогда хорошо бы иметь в прошивке раз используется tun2socks страницу c WEB по его использованию/созданию туннеля. Или например выше где например в https://github.com/xjasonlyu/tun2socks или go-tun2socks - https://github.com/v2ray/go-tun2socks
-
Все мои настройки и описания проверены при работе в профилях, т.е. есть 1. основной профиль где расположены по росту вверху провайдер 1 RT (pppoe - основной), провайдер 2 Inet-2 (просто провод DHCP - резервный) и далее ниже уже идут все остальные Cloud-Warp, и еще ниже Proton и т.д.. Галки на WG каналах для выхода в интернет стоят (тогда их можно использовать в других профилях). 2. профиль Cloud - галка только на канале Cloud-Warp (WG) на остальных галки нет 3. профиль Anti - галка только на канале Proton (WG Proton) на остальных галки нет Сервер WG на роутере для удаленных клиентов interface Wireguard3 description PKN-WG security-level public ip address 10.16.130.101 255.255.255.0 .... wireguard peer Z8cL......bTY= !A73 endpoint 10.16.130.6:ххххх .... ! wireguard peer y09......MCA= !T505 endpoint 10.16.130.18:ххххх .... В данном случае данные клиенты получат IP который им присвоен в настройках WG сервера. Так как проблемы часто возникают именно с DNS то в данном варианте использования за это отвечает AdguardHome который - это локальный сервис роутера и он слушает сеть 192.168 и 127.0.0.1 порт 53. Куда и что прописать будет чуток ниже. AdguardHome dns: bind_hosts: - 192.168.130.101 - 127.0.0.1 port: 53 Вспоминаем что это основной профиль и его канал выхода это РТ (pppoe). Мы хотим нашего клиента смартфон чтоб он выходил через профиль Cloud -> воспользуемся самой прошивкой, т.е. при создание профиля создается table маршрутизации где default нужный нам Wireguard0 а в другом профиле table другая default Proton По умолчанию наш удаленный клиент после подключения использовать основной профиль роутера, но мы можем ему сменит канал выхода направив его в нужную нам table за счет того что он клиент имеет IP от WG например выше - 10.16.130.6. Заворот данного клиента делается через ip rule add from IP_удал_клиента/24 table 42 или ip rule add from IP_удал_клиента/24 table 44 Для того что данный клиент мог выходить в интернет так как у него адрес серый то нужно применить ip nat Wireguard3 По DNS воспользуемся тем что добаление сервера DNS в профилях создает стат маршрут на интерфейс который deault в данном профиле (без разницы какой это профиль - основной или созданные). Например В итоге проверяем speedtest на удаленном клиенте 1. по умолчанию IP будет от роутера на клиенте который по WG к роутеру 2. после добавления rule то speedtest то на клиенте показывает адрес от профиля в который мы его направили (IP от wireguard0 или wireguard4). В данном варианте никакого контроля правил iptables нет, вопрос только в одной строчке "ip rule add from 10.16.130.6 table 42"
-
База знаний https://help.keenetic.com/hc/ru/articles/360010131139-Пример-объединения-локальных-сетей-трех-роутеров-Keenetic-через-соединение-Wireguard-VPN Обратить внимание на параметр "Разрешенные подсети" и внимательнее к стат.маршрутам ВЕЗДЕ
- 1 ответ
-
- 1
-
-
Для того чтоб wireguard работал через нужный сетевой необходимо чтоб был прописан стат маршрут до сервера wireguard через нужный сетевой интерфейс. Пример. Есть два входных интернет канала, по умолчанию основной РТ, второй Inet-2 в резерве. Поднимем warp wireguard через резервный канал. 1. канал warp работает через основной, отключаем wireguard (через WEB другие подключения). 2. прописываем стат маршрут через Inet-2 на нужный нам сервер wireguard Сен 3 17:50:51 ndm Network::RoutingTable: added static route: 188.114.хх.хх/32 via 10.10.10.1 (GigabitEthernet0/Vlan9). делается через WEB - раздел марщрутизация (до узла, нужный IP сервера 188.114.хх.хх/32. нужный инетрефес у меня Inet-2 или "via 10.10.10.1" и выбираем его) 3. идем в WEB cli (192.168.1.1/a и включаем его "interface Wireguard0 up" в моем случае его номер "0", находится по конф файлу или так же WEB cli набрав просто "interface Wireguard" и клавишу "tab". Если он один то не чего искать не надо, это если их несколько) 4. проверяем что все ОК на клиенте в браузере набираем speedtest и он должен показать IP клиента, в данном случае IP от cloudflare warp 104.28.ххх.ххх. По логу это выглядит так Это будет работать до тех пора пока есть стат маршрут прописанный выше по п.2
-
Для начала лучше убрать автомат на wifi 2.4 и 5GHz. На 2.4 если дальних клиентов нет то поставить gn, а на 5 поставить n+ac+ax. Потом неообходимость в band-steering есть.