
У меня есть машина Ubuntu, работающая как сервер OpenVPN в другом городе. Я могу получить к ней доступ через ssh. Я пытаюсь использовать VPN с Mac с помощью Tunnelblick.
Локальная подсеть сервера — 192.168.80.x. Клиента — 192.168.0.x. При подключении клиента его IP-адрес — 10.8.0.5.
Tunnelblick подключается, но я не могу ping 8.8.8.8
загрузить веб-страницу или получить доступ ни к одному из удаленных устройств локальной сети, за исключением VPN-сервера, использующего адрес 10.8.0.1.
Конфигурационный файл клиента:
client
dev tun
proto udp
remote [my server's external IP address] 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3
redirect-gateway local def1
Сервер:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.80.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
Что мне нужно изменить?
Редактировать: На сервере:
$ cat /proc/sys/net/ipv4/ip_forward
1
$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
$ ip route
default via 192.168.80.1 dev enp2s0 proto static metric 100
10.8.0.0/24 via 10.8.0.2 dev tun0
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
169.254.0.0/16 dev tun0 scope link metric 1000
192.168.80.0/24 dev enp2s0 proto kernel scope link src 192.168.80.5 metric 100
Редактировать 2:
$ sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/8 anywhere
/etc/default/ufw включает DEFAULT_FORWARD_POLICY="ACCEPT"
.
/etc/ufw/before.rules включает в себя:
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
решение1
Моя проблема была в том, что у меня был указан неправильный интерфейс в /etc/ufw/before.rules
. Мне следовало указать -A POSTROUTING -s 10.8.0.0/8 -o enp2s0 -j MASQUERADE
вместо -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
. Я скопировал и вставил из руководства, не проявив разборчивости.