WireGuard на Ubuntu в AWS

From wiki.baghirzade.pro
Revision as of 11:40, 10 October 2025 by Sadmin (talk | contribs) (Created page with "'''Настройка VPN с помощью WireGuard на Ubuntu сервере, развернутом в AWS. Включает шаги для NAT, Elastic IP и AWS Security Group.''' '''<big>✅ Шаг 1: Подготовка сервера</big>'''<pre> sudo apt update sudo apt install wireguard -y </pre>'''Создание ключей:'''<pre> sudo mkdir -p /etc/wireguard cd /etc/wireguard sudo wg genkey | sudo tee privatekey | wg pubkey | sudo tee publickey sud...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Настройка VPN с помощью WireGuard на Ubuntu сервере, развернутом в AWS. Включает шаги для NAT, Elastic IP и AWS Security Group.

✅ Шаг 1: Подготовка сервера

sudo apt update
sudo apt install wireguard -y

Создание ключей:

sudo mkdir -p /etc/wireguard cd /etc/wireguard sudo wg genkey | sudo tee privatekey | wg pubkey | sudo tee publickey sudo cat privatekey sudo cat publickey

✅ Шаг 2: Конфигурация сервера

sudo nano /etc/wireguard/wg0.conf

Пример:

[Interface] PrivateKey = <серверный приватный ключ> Address = 10.100.100.1/24 ListenPort = 51820 SaveConfig = true

[Peer] PublicKey = <публичный ключ клиента> AllowedIPs = 10.100.100.2/32

✅ Шаг 3: IP-форвардинг и NAT

echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

Проверка интерфейса:

ip route | grep default

Настройка NAT (замени eth0):

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo apt install iptables-persistent -y sudo netfilter-persistent save

✅ Шаг 4: Запуск WireGuard

sudo chmod 600 /etc/wireguard/wg0.conf sudo wg-quick up wg0 sudo systemctl enable wg-quick@wg0 sudo wg

✅ Шаг 5: Открытие порта в AWS Security Group

  1. В AWS Console откройте EC2 → Security Groups
  2. Добавьте входящее правило:
    • Тип: Custom UDP Rule
    • Порт: 51820
    • Источник: 0.0.0.0/0 или ваш IP


✅ Шаг 6: Elastic IP

  1. В AWS Console → EC2 → Elastic IPs
  2. Выберите Allocate Elastic IP → Allocate
  3. Нажмите Actions → Associate Elastic IP
  4. Привяжите к вашему инстансу

Теперь сервер имеет статический IP для клиентов.


✅ Шаг 7: Настройка клиента

Создание ключей:

wg genkey | tee privatekey | wg pubkey > publickey

Конфигурация:

[Interface] PrivateKey = <клиентский приватный ключ> Address = 10.100.100.2/32 DNS = 10.100.100.1

[Peer] PublicKey = <публичный ключ сервера> Endpoint = <Elastic IP>:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25

✅ Шаг 8: Проверка

ping 8.8.8.8 curl ifconfig.me

Если IP совпадает с Elastic IP сервера — VPN работает.

🧠 Примечания

  • Используйте Elastic IP, чтобы IP сервера не менялся.
  • AllowedIPs = 0.0.0.0/0 — весь трафик через VPN, 10.100.100.1/32 — только к серверу.

Готово! WireGuard настроен на AWS сервере и готов к использованию как VPN шлюз.