wireguard

Ответить
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

wireguard

Сообщение ya »

https://habr.com/ru/companies/xakep/articles/699000/

Код: Выделить всё

apt update && apt install -y wireguard iptables ipcalc qrencode curl jq traceroute dnsutils ufw

Код: Выделить всё

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf

Код: Выделить всё

hostnamectl set-hostname trickster-internal

Код: Выделить всё

wg genkey

Код: Выделить всё

echo $RANDOM | md5sum | head -c 32 | base64
/etc/wireguard/wg-internal.conf

Код: Выделить всё

[Interface]
Address = 10.20.30.1/32
ListenPort = 17968
PrivateKey = kOd3FVBggwpjD3AlZKXUxNTzJT0+f3MJdUdR8n6ZBn8=
PostUp = iptables -t nat -A POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE
PostUp = ip rule add from `ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` table main
PostDown = iptables -t nat -D POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE
PostDown = ip rule del from `ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` table main
/etc/wireguard/wg-external.conf

Код: Выделить всё

[Interface]
Address=10.20.30.2/32
PrivateKey=6CCRP42JiTObyf64Vo0BcqsX6vptsqOU+MKUslUun28=
PostUp = iptables -t nat -A POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE
Управляются интерфейсы обычно при помощи утилиты wg-quick:
wg-quick down wg-external и wg-quick up wg-external
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

Re: wireguard

Сообщение ya »

Wireguard сервер с веб интерфейсом за 60 секунд
https://blog.unixhost.pro/ru/2022/11/wireguard-server-s-veb-interfejsom-za-60-sekund/

Код: Выделить всё

sudo apt update
sudo apt install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Установка WireGuard Easy

Код: Выделить всё

docker run -d \
  --name=wg-easy \
  -e WG_HOST=SERVER_IP \
  -e PASSWORD=ADMIN_PASSWORD \
  -v ~/.wg-easy:/etc/wireguard \
  -p 51820:51820/udp \
  -p 51821:51821/tcp \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --sysctl="net.ipv4.ip_forward=1" \
  --restart unless-stopped \
  weejewel/wg-easy
Проброс порта на нестандартный порт:

Код: Выделить всё

iptables -t nat -A PREROUTING -i ИНТЕРФЕЙС_ИНТЕРНЕТА -d SERVER_IP -p udp -m udp --dport 34567 -j DNAT --to-destination localhost:51820
Ответить