10 private links
С модулем ядра, можно развернуть VPN с AmneziaWG на сервере без приложения. Ниже подробная инструкция о том как это сделать с помощью консоли.
Показать как
на стороне сервера
-
разрешаем маршрутизацию трафика
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
-
в файле /etc/apt/sources.list включаем все репозитории пакетов с исходными кодами
cd /etc/apt/ && cp sources.list sources.list.backup && sed "s/# deb-src/deb-src/" sources.list.backup > sources.list
-
обновляем систему
apt update -y && apt upgrade -y
- перезагружаем систему
reboot
- устанавливаем AmneziaVPN
add-apt-repository -y ppa:amnezia/ppa && apt install -y amneziawg
- генерируем ключи
awg genkey | tee privatekey | awg pubkey > publickey
Эта команда сгенерирует пару ключей, приватный будет находиться в файле privatekey, публичный - в файле publickey. Необходимо сгенерировать как минимум две пары ключей - одну для сервера, и одну для каждого отдельного клиента.
- создаем файл конфигурации /etc/amnezia/amneziawg/awg0.conf
[Interface]
PrivateKey = <SERVER_PRIVATE_KEY>
Address = <SERVER_TUNNEL_IP>
ListenPort = <PUBLIC_PORT>
Jc = <JC>
Jmin = <JMIN>
Jmax = <JMAX>
S1 = <S1>
S2 = <S2>
H1 = <H1>
H2 = <H2>
H3 = <H3>
H4 = <H4>
[Peer]
PresharedKey = <PRESHARED_KEY>
PublicKey = <CLIENT_PUBLIC_KEY>
AllowedIPs = <CLIENT_TUNNEL_IP>
например:
[Interface]
PrivateKey = UPJ2MXxeXyDgxX90rx1Exmrkpv2akeBplCz/FjwAAHw=
Address = 10.8.1.1/24
ListenPort = 56789
Jc = 7
Jmin = 50
Jmax = 1000
S1 = 68
S2 = 149
H1 = 1106457265
H2 = 249455488
H3 = 1209847463
H4 = 1646644382
[Peer]
PresharedKey = q6vQ8gZBjvmv7kJS0o1cWS8TB33j9zDQkE4259lSc+s=
PublicKey = v/jQKE9HWa9ia2hcvBQSSVGaPN/DFjPPIn0+Jx4GiEo=
AllowedIPs = 10.8.1.2/24
-
создаем туннельный интерфейс
awg-quick up awg0
-
настраиваем сетевой экран
nft add rule ip filter input udp dport == <PUBLIC_PORT> iif <EXTERNAL_NIC_NAME> accept
nft add rule nat postrouting iif <TUNNEL_NIC_NAME> oif <EXTERNAL_NIC_NAME> masquerade
например:
nft add rule ip filter input udp dport == 46657 iif enp6s18 accept
nft add rule nat postrouting iif awg0 oif enp6s18 masquerade
на стороне клиента
- создаем файл конфигурации
[Interface]
PrivateKey = <CLIENT_PRIVATE_KEY>
Address = <CLIENT_TUNNEL_IP>
Jc = <JC>
Jmin = <JMIN>
Jmax = <JMAX>
S1 = <S1>
S2 = <S2>
H1 = <H1>
H2 = <H2>
H3 = <H3>
H4 = <H4>
[Peer]
PresharedKey = <PRESHARED_KEY>
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = <PUBLIC_IP>:<PUBLIC_PORT>
AllowedIPs = <COMMA-SEPARATED_LIST_OR_NETWORKS_ROUTED_THROUGH_THE_TUNNEL>
например:
[Interface]
PrivateKey = eCINnKoSp6ICB+IZ83NGBSMV1PNftcNcCx15hF3QyWY=
Address = 10.8.1.2/24
Jc = 7
Jmin = 50
Jmax = 1000
S1 = 68
S2 = 149
H1 = 1106457265
H2 = 249455488
H3 = 1209847463
H4 = 1646644382
[Peer]
PresharedKey = q6vQ8gZBjvmv7kJS0o1cWS8TB33j9zDQkE4259lSc+s=
PublicKey = tyq1Hw/6DoDvzGvvQKNAAKg4oNaCfjaIs+kSso/5e3A=
Endpoint = 1.2.3.4:56789
AllowedIPs = 0.0.0.0/0
Импортировать созданный конфиг с VPN можно как в приложение AmneziaWG, так и в AmneziaVPN.
В заключении хочу оставить ссылки на наши продукты и группы. Спасибо за внимание, и до встречи в следующих статьях!