модуля.
На FreeBSD 13.2-r4 поднял WireGuard-тунель. Соединение устанавливается, пакеты до/от сервера бегают, но правило NAT наотрез отказывается работать.
tcpdump молчит.
Я уже не знаю что ему нужно. Все запрещающие правила pf отключал - желаемого результата нет. М.Б. здесь кто подскажет куда копать?
Мои конфиги:
# sysctl net.inet.ip.forwarding
net.inet.ip.forwarding: 1
rc.conf:
…
pf_enable="YES"
pflog_enable="YES"
gateway_enable="YES"
wireguard_enable="YES"
wireguard_interfaces="wg0"
pf.conf:
…
# 3. Options
set loginterface $if_wan
set loginterface wg0
…
# 6. Translation
nat log on wg0 inet from $wg_net to any -> ($if_wan)
wg-server.conf:
[Interface]
Address = 10.0.0.0/24
ListenPort = 1234
MTU = 1450
Table = auto
[Peer]
AllowedIPs = 10.0.0.1/32
wg-client.conf:
[Interface]
Address = 10.0.0.1/32
DNS = 1.1.1.1
MTU = 1450
[Peer]
AllowedIPs = 0.0.0.0/0
Endpoint = 195.245.112.141:51820
PersistentKeepalive = 15
Трассировка client-server-cf:
# traceroute 1.1
traceroute to 1.0.0.1 (1.0.0.1), 30 hops max, 60 byte packets
1 10.0.0.0 (10.0.0.0) 243.821 ms 243.821 ms 243.739 ms
2 10.0.0.0 (10.0.0.0) 243.699 ms 243.617 ms 243.556 ms
Трасстровка client1-server-client2:
# traceroute 10.2
traceroute to 10.0.0.2 (10.0.0.2), 30 hops max, 60 byte packets
1 10.0.0.0 (10.0.0.0) 184.114 ms 183.967 ms 183.921 ms
2 10.0.0.2 (10.0.0.2) 439.659 ms 439.631 ms 439.571 ms
Похоже я плохо понимаю принципы работы с трафиком. Проблема решилась заменой виртуального порта в правиле NAT на физический. Рабочий вариант: nat on $if_wan inet from $wg_subnet to any -> ($if_wan)
Обсуждают сегодня