sysmerge IT

12 июл. 2020 г.

Centos 8: Firewalld правила для сервера Wireguard

Большое количество мануалов по настройке Wireguard на Сentos 8 используют для настройки форвардинга и маскарадинга правила Iptables. Но с firewalld это сделать даже проще, выглядеть рабочий конфиг будет так:
# cat /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51386
PrivateKey = ПРИВАТНЫЙ_КЛЮЧ
PostUp = firewall-cmd --zone=public --add-port=51820/udp; firewall-cmd --zone=public --add-masquerade
PostDown = firewall-cmd --zone=public --remove-port 51820/udp; firewall-cmd --zone=public --remove-masquerade

[Peer]
PublicKey = ПУБЛИЧНЫЙ_КЛЮЧ_КЛИЕНТА
AllowedIPs = 10.0.0.0/24

Аналогичные PostUp и PostDown для iptables выглядеть будут уже посложнее:
PostUp = iptables -A INPUT -p udp -m udp --dport 51820  -j ACCEPT; 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 INPUT -p udp -m udp --dport 51820  -j ACCEPT; iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE