Jump to content

amneziawg-go для Entware


Recommended Posts

Собрал для нескольких архитектур по просьбе трудящихся amneziawg-go

Пакет(ы) потребуются тем, кто не хочет ставить бету 4.2 и тем, у кого не кинетик. На некоторых роутерах по непонятной причине при запуске паника - https://github.com/Entware/Entware/issues/1078

Проверил на mipsel кинетике - работает.

Вот лог:

root@Keenetic_Ultra:/opt/tmp$ cat test.conf
[Interface]
PrivateKey = .....
ListenPort = 51820
Jc = 1
Jmin = 1
Jmax = 3
S1 = 0
S2 = 0
H1 = 1
H2 = 2
H3 = 3
H4 = 4

[Peer]
PublicKey = ....
PresharedKey = ....
AllowedIPs =  0.0.0.0/0
Endpoint = 23.94.xxxxx:51820
PersistentKeepalive = 25



root@Keenetic_Ultra:/opt/tmp$ amneziawg-go wg0
┌──────────────────────────────────────────────────────────────┐
│                                                              │
│       Running amneziawg-go is not required because this      │
│       kernel has first class support for AmneziaWG. For      │
│       information on installing the kernel module,           │
│       please visit:                                          │
| https://github.com/amnezia-vpn/amneziawg-linux-kernel-module │
│                                                              │
└──────────────────────────────────────────────────────────────┘
root@Keenetic_Ultra:/opt/tmp$ ip address add dev wg0 10.7.0.15/24
root@Keenetic_Ultra:/opt/tmp$ awg setconf wg0 ./test.conf
root@Keenetic_Ultra:/opt/tmp$ ip link set up dev wg0
root@Keenetic_Ultra:/opt/tmp$ /opt/sbin/iptables -A INPUT -i wg0 -j ACCEPT
root@Keenetic_Ultra:/opt/tmp$ /opt/sbin/iptables -A FORWARD -i wg0 -j ACCEPT
root@Keenetic_Ultra:/opt/tmp$  curl --interface wg0 http://myip.wtf/json
{
    "YourFuckingIPAddress": "23.94.xxxxx",
    "YourFuckingLocation": "Amsterdam, NH, The Netherlands",
    "YourFuckingHostname": "23-94-xxxxxxx-host.colocrossing.com",
    "YourFuckingISP": "HostPapa",
    "YourFuckingTorExit": false,
    "YourFuckingCity": "Amsterdam",
    "YourFuckingCountry": "The Netherlands",
    "YourFuckingCountryCode": "NL"
}

Ну и собственно пакеты и Makefile тут - http://zyxnerd.zyxmon.org/files/amnezia/

  • Thanks 3
  • Upvote 3
Link to comment
Share on other sites

можно задать вопрос. вот вы собрали пакет. он работает в entware
а как пакеты попадают в репозиторий entware который подгружается через opkg update ?

Link to comment
Share on other sites

1 час назад, Stenly сказал:

а как пакеты попадают в репозиторий entware

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

Link to comment
Share on other sites

Entware используется на многих устройствах, NASах, роутерах, TV боксах. Иногда встречается экзотика о которой раньше и не слышал. Amnezia есть на кинетиках с 4.2 и для Openwrt. Теперь, возможно, и на более широком классе железок. 

  • Thanks 1
Link to comment
Share on other sites

Всем привет.

Проверил, на Xiaomi R3Gv1 (Keenetic 4.1.7) работает.

Есть ли возможность подобно созданные вручную интерфейсы корректно отрабатывать в ndm .

ndm не видит, что интерфейс поднялся/упал. Соответственно скрипты в /opt/etc/ndm/netfilter.d (ifcreated.d, ifstatechanged.d, ifipchanged.d и т.п.)

не отрабатывают. У меня так же sing-box на tun0 системой не видится, хотя данные ходят

Link to comment
Share on other sites

6 часов назад, Yury Sergeev сказал:

Проверил, на Xiaomi R3Gv1

Вам в поддержку Xiaomi или умельца, который без спроса адаптирует прошивки. Если купите кинетик - обращайтесь. А что там у Вас сейчас - никто не знает.

Link to comment
Share on other sites

С удовольствием бы потестировал ( валяется старый Zyxel Keenetic на который даже KeenOS 3 не поставить ) но по гайду https://telegra.ph/Xkeen-08-05 удалось накатить Entware и XKeen... но вот что сделать с amnezia ipk я не представляю. Небольшой гайд как по ссылке выше для нубов не помешал бы. В любом случае - спасибо за труды

  • Upvote 1
Link to comment
Share on other sites

12 часа назад, nbsh99 сказал:

вот что сделать с amnezia ipk

opkg install http://zyxnerd.zyxmon.org/files/amnezia/amneziawg-tools_1.0.20240213-1_mipsel-3.4.ipk
opkg install http://zyxnerd.zyxmon.org/files/amnezia/amneziawg-go_v0.2.12-1_mipsel-3.4.ipk

И тестируйте. Не факт, что запустится вообще на древнем ядре.

Link to comment
Share on other sites

┌──────────────────────────────────────────────────────────────┐
│                                                              │
│       Running amneziawg-go is not required because this      │
│       kernel has first class support for AmneziaWG. For      │
│       information on installing the kernel module,           │
│       please visit:                                          │
| https://github.com/amnezia-vpn/amneziawg-linux-kernel-module │
│                                                              │
└──────────────────────────────────────────────────────────────┘

говорит, о том, что используется оригинальный wg встроенный в ядро, а не его аналог на го, по сути у вас получается отработал wg ядра.

Edited by hophey
Link to comment
Share on other sites

В 29.08.2024 в 15:41, zyxmon сказал:
root@Keenetic_Ultra:/opt/tmp$  curl --interface wg0 http://myip.wtf/json
{
    "YourFuckingIPAddress": "23.94.xxxxx",
    "YourFuckingLocation": "Amsterdam, NH, The Netherlands",
    "YourFuckingHostname": "23-94-xxxxxxx-host.colocrossing.com",
    "YourFuckingISP": "HostPapa",
    "YourFuckingTorExit": false,
    "YourFuckingCity": "Amsterdam",
    "YourFuckingCountry": "The Netherlands",
    "YourFuckingCountryCode": "NL"
}

Вопрос к автору или к тем кто разобрался:

Получил вывод аналогичный как в логе, но вот что делать потом? как заставить клиентов роутера ходить через AWG. Нигде в роутере интерфейса wg0 не увидел, чтобы через него пустить трафик...

На руках был конфиг WG из панели 3X-UI, руками обфусцированный по рекомендациям Amnezia, который и был использован по примеру в логе выше.

Благодарю!

Link to comment
Share on other sites

12 часа назад, nbsh99 сказал:

как заставить клиентов роутера ходить через AWG.

Есть куча вариантов - см темы по AdGuardHome, bird, ipset-dns и т.д. и т.п.

Link to comment
Share on other sites

Хочу протестировать на KN-1811 с прошивкой 4.1.7 на архитектуре aarch64

Где нибудь пакеты видели?

проморгал ссылку в первом посте, извиняюсь

 

Установилось без проблем

по какому пути он ищет свои конфиги?

хочу подсунуть с роутера (он на OpenWRT)

Edited by VecH
Link to comment
Share on other sites

Благодарю за ответ... видимо я не совсем понял, что за штуку вы создали и как она работает. Я предполагал, что это инструмент обфусцирования конфига WG для роутеров на которые не ставятся прошивки с этой функцией, чтобы и на них можно было использовать полноценный АВГ... Но видимо это не так... в любом случае благодарю за труды

Link to comment
Share on other sites

4 часа назад, VecH сказал:

Установилось без проблем

Доброго дня! У меня тоже установилось, причем на железку совсем древнюю с системой 2.16... НО я не понимаю как это все дальше использовать. Я предполагал, что по аналогии с 4.2 прошивкой, этот инструмент поможет обфусцировать нативный WG и использовать этот "безопасный" AWG в роутере... но никакого интерфейса к которому можно было бы привязать маршруты или конкретные девайсы в роутере не появилось... Не могли бы Вы подробнее описать, как и для чего именно вы смогли использовать данный пакет на вашем кинетике... чтобы совсем нубу стало понятно ( например Xkeen из этого гайда стал прост и понятен https://telegra.ph/Xkeen-08-05 ) Благодарю! 

Link to comment
Share on other sites

2 минуты назад, nbsh99 сказал:

НО я не понимаю как это все дальше использовать.... но никакого интерфейса к которому можно было бы привязать маршруты или конкретные девайсы в роутере не появилось...

Согласно того что было написано выше сам интерфейс - wg0

~ # amneziawg-go
Usage: amneziawg-go [-f/--foreground] INTERFACE-NAME
~ #



amneziawg-go wg0 ************************************** INTERFACE-NAME = wg0
ip address add dev wg0 10.7.0.15/24
awg setconf wg0 ./test.conf
ip link set up dev wg0 ******************************** up wg0
/opt/sbin/iptables -A INPUT -i wg0 -j ACCEPT ********** разрешающие правила для созданного интерфейса 
/opt/sbin/iptables -A FORWARD -i wg0 -j ACCEPT ******** разрешающие правила для созданного интерфейса 

в первой строчке - wg0, далее он имеет IP 10.7.0.15

Скрытый текст
ip ro add 62.176.ххх.ххх/32 dev wg0



ip ro
62.176.xxx.xxx dev wg0  scope link

 

 

Link to comment
Share on other sites

23 часа назад, vasek00 сказал:

Согласно того что было написано выше сам интерфейс - wg0

Я понимаю что этот интерфейс назвался wg0. Но опять же мне не ясно как я это могу использовать дальше в самом кинетике. wg0 нигде внутри интерфейса самого кинетика не отображается, чтобы к нему можно было прикрутить маршрутизацию или конкретных клиентов... возможно я не допонимаю как это все должно работать и какие расширения возможностей прошивки ниже 4.2 этот инструмент несет... но пока что на практике его применить , к сожалению, не могу

Link to comment
Share on other sites

В 16.09.2024 в 03:44, nbsh99 сказал:

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

у меня все это настроено через *.conf файл сервера/клиента

естественно для этого подключения нет никаких настроен в WEB интерфейсе KeeneticOS, все настраивается ручками как это делается на классическом WireGuard

можно конечно заморочится и запустить некое подобие Easy-WireGuard, но надо или оно в свете выхода официальной поддержки

Link to comment
Share on other sites

amneziawg-go wg0
ip address add dev wg0 10.100.212.67/32
awg setconf wg0 ./amz.conf
ip link set up dev wg0
iptables -A INPUT -i wg0 -j ACCEPT
iptables -A FORWARD -i wg0 -j ACCEPT

Поднимает интерфейс wg0.

curl --interface wg0 http://myip.wtf/json

Возвращает ожидаемый результат.

  Чтобы форвардить трафик, к примеру 192.168.1.98, через wg0 интерфейс, 

- создаем таблицу с дефолтным gateway на  wg0

- добавляем source 192.168.1.98 

- включаем НАТ

ip route add default dev wg0 table 200
ip rule add from 192.168.1.98 table 200
iptables -t nat -A POSTROUTING -s 192.168.1.98 -o wg0 -j MASQUERADE
Edited by steel
Link to comment
Share on other sites

  • 2 weeks later...
В 04.09.2024 в 16:10, hophey сказал:
┌──────────────────────────────────────────────────────────────┐
│                                                              │
│       Running amneziawg-go is not required because this      │
│       kernel has first class support for AmneziaWG. For      │
│       information on installing the kernel module,           │
│       please visit:                                          │
| https://github.com/amnezia-vpn/amneziawg-linux-kernel-module │
│                                                              │
└──────────────────────────────────────────────────────────────┘

говорит, о том, что используется оригинальный wg встроенный в ядро, а не его аналог на го, по сути у вас получается отработал wg ядра.

В свете написанного камерадом hophey выше что вот эти комманды означают?

 

 

В 23.09.2024 в 17:38, steel сказал:
amneziawg-go wg0
ip address add dev wg0 10.100.212.67/32
awg setconf wg0 ./amz.conf
ip link set up dev wg0
iptables -A INPUT -i wg0 -j ACCEPT
iptables -A FORWARD -i wg0 -j ACCEPT

Поднимает интерфейс wg0.

 

 

Что в ядерном модуле поддерживается расширенные папаметры, и что коммандой amnezia-go я только скармливаю ядру параметры связи(ключи, пиров, s1,s2,h1,h2...)...Так надо понимать?

Link to comment
Share on other sites

  • 3 weeks later...
В 05.10.2024 в 01:36, pppppppo_98 сказал:

Running amneziawg-go is not required because this  kernel has first class support for AmneziaWG. For  information on installing the kernel module, 

тут говорится что ядро уже с амнезия. Ставить костыли go не обязательно.

В 05.10.2024 в 01:36, pppppppo_98 сказал:

Так надо понимать?

нет. это поднимаем ОТДЕЛЬНЫЙ интерфейс. Если надо скормить s1 s2.... в встроенное WG то это через CLI (при условии что у вас прошка 4.х)

 

Собственно теперь вопрос. Все прописал, всё завелось cUrl отдает нужный ип. Для теста поднят wg0 через веб морду, поднята амнезия(amz0) через выше указанный мануал.

Берем ИП сайта скажем 2ip.ru вбиваем в ip ro add IP dev amz0 - не заходит, удаляем, вбиваем в dev wg0 - открывает.

Устанавливаем bird4Static указываем 2 интерфейса wg0(list1) и amz0(list2), в list1 кидаем 2ip.ru - отрабатывает как надо, удаляем, кидаем в list2 - не открывает.

Если кинуть пинг через интерфейс amz0 всё проходит. Если посмотреть awg show покажет поднятый интерфейс awz0.

Думал конфиг кривой, на мобиле установил AmneziaWG скормил конфиг, всё завелось трафик ходит. 

Что глянуть что бы понять где стопориться?

Link to comment
Share on other sites

16 часов назад, immya сказал:

нет. это поднимаем ОТДЕЛЬНЫЙ интерфейс. Если надо скормить s1 s2.... в встроенное WG то это через CLI (при условии что у вас прошка 4.х)

CLI - это вы имеете ввиду интерфейс команд идущий вместе с роутером и описываемый в отдельном pdf файле на 800+ страниц... А не в entware (и amneziawg-go с репозитария zyxmon). И стало быть amneziawg-go только поднимает tun интерфейс и все? или таки go приложение , а не модуль ядра управляет трафиком (аутентификация, маршрутизация, шифрование)

 

ЗЫ

 

Я развернул  небольшую сеть с десяток нодов подключенных к одному awg-устройству на кинетике (с помощью amneziawg-go и entware). И вот начал замечать нестабильную работу awg...Примерно раз  в неделю приходится перегружать роутер ибо при выполнении комманды awg - нет никакого вывода, и соттвественно подкоманды awg тоже не работают

Link to comment
Share on other sites

17 часов назад, immya сказал:

Что глянуть что бы понять где стопориться?

я обычно тспользую tcpdump с фильтрами - дабы посмотреть куда доходит какой трафик. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   1 member

×
×
  • Create New...