WireGuard — это современный VPN-протокол с открытым исходным кодом, который стремится быть быстрее, проще, легче и полезнее, чем более старые протоколы, при этом обеспечивая высокий уровень безопасности. В этой статье будет описана установка и настройка WireGuard на сервере на базе kubuntu и подключение к нему клиента. Более подробная информацию по wireguard.
Прежде всего, вам необходимо установить WireGuard на сервер. WireGuard доступен в стандартных репозиториях, поэтому установка происходит довольно просто:
sudo apt update
sudo apt install wireguard iptables
Эти команды установят все необходимые компоненты WireGuard.
Затем, необходимо сгенерировать приватный и публичный ключи для вашего VPN-сервера:
wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey
Для настройки сервера создайте конфигурационный файл в `/etc/wireguard/`, например `wg0.conf`, и добавьте следующее содержимое:
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = <ваш приватный ключ>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <публичный ключ клиента>
AllowedIPs = 10.0.0.2/32
Замените `<ваш приватный ключ>` на реальный приватный ключ сервера, который вы сгенерировали ранее, а `eth0` — на имя вашего внешнего интерфейса.
Вам необходимо разрешить IP-преобразование, чтобы пакеты могли передаваться между клиентами и интернетом:
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-sysctl.conf
sudo sysctl -p
Чтобы начать работу WireGuard, используйте следующую команду:
wg-quick up wg0
Для автоматического запуска WireGuard при старте системы, включите его в systemd:
systemctl enable wg-quick@wg0
На стороне клиента вам также предстоит сгенерировать ключевую пару и создать конфигурационный файл. Установка WireGuard на клиенте происходит так же, как и на сервере:
sudo apt update
sudo apt install wireguard
wg genkey | tee privatekey | wg pubkey > publickey
Создайте файл `wg0-client.conf` со следующим содержанием:
[Interface]
PrivateKey = <ваш приватный ключ клиента>
Address = 10.0.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = <публичный ключ сервера>
AllowedIPs = 0.0.0.0/0
Endpoint = <IP_сервера>:51820
PersistentKeepalive = 25
После замены `<ваш приватный ключ клиента>` и `<публичный ключ сервера>` на соответствующие значения, а также `` на внешний IP-адрес вашего сервера, конфигурация клиента будет завершена.
Для подключения к VPN используйте приведенную команду:
wg-quick up wg0-client
Если вы хотите, чтобы VPN запускался при старте системы, используйте systemd:
systemctl enable --now wg-quick@wg0-client
Теперь у вас должен быть рабочий VPN-сервер на базе WireGuard и клиент, подключенный к нему.
Отправить комментарий