Я пытаюсь создать настройку wireguard, в которой я могу распространять wireguard VPN через dnsmasq среди DHCP-клиентов, чтобы они dhcp-клиенты могли получать доступ к Интернету только через VPN.
Тем не менее, кажется, что все еще есть проблемы с правильной маршрутизацией, но я не могу ее найти.
Структура: eth0: Internet wg0: wireguard eth1: сюда подключаются dhcp-клиенты
инициализация eth1
/usr/bin/ip link set eth1 up
/usr/bin/ip addr add 10.10.1.1/24 dev eth1
WG0.conf
[Interface]
PrivateKey = $PRIVATE_KEY
Address = 10.20.40.11
Table = off
DNS = $DNS_SRV_ON_WG_SRV
[Peer]
PublicKey = $PUBLIC_KEY
AllowedIPs = 0.0.0.0/0
Endpoint = $WG_SERVER:51820
iptables
/usr/sbin/sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i eth1 -o wg0 -j ACCEPT
iptables -A FORWARD -i wg0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
конфигурация dnsmasq
$(which dnsmasq) --interface eth1 \
--bind-interfaces \
--dhcp-authoritative \
--dhcp-range=10.10.1.100,10.10.1.200,72h \
--resolv-file=$(dirname "$0")/dnsmasq_resolv.conf
DHCP-клиенты могут пинговать IP-адреса eth1 и wg0, eth0 нельзя пинговать (что должно быть правильно)
Но я не вижу никакого трафика на wg0, поэтому я думаю, что это проблема с маршрутизацией:
Надеюсь, кто-нибудь может помочь