Я настроил сервер openvpn и могу войти в систему. Однако после того, как соединение установлено, я не могу получить доступ к веб-сайтам интрасети.
Сервер ifconfig выглядит следующим образом
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:03:90:0b brd ff:ff:ff:ff:ff:ff
inet 192.168.0.253/24 brd 192.168.0.255 scope global noprefixroute enp1s0
valid_lft forever preferred_lft forever
inet6 fd01::5054:ff:fe03:900b/64 scope global dynamic noprefixroute
valid_lft 259sec preferred_lft 259sec
inet6 fe80::5054:ff:fe03:900b/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
link/none
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::aa36:56c8:3a99:2a98/64 scope link stable-privacy
valid_lft forever preferred_lft forever
И вывод iptables
Chain INPUT (policy ACCEPT 149 packets, 9788 bytes)
pkts bytes target prot opt in out source destination
322 37460 ACCEPT udp -- enp1s0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:1194
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 346 packets, 28928 bytes)
pkts bytes target prot opt in out source destination
Сервер размещен на виртуальной машине, установленной на KVM и подключенной к локальной сети через мостовое соединение. Я думаю, что есть некоторая проблема с пересылкой и приемом трафика iptables из туннеля в Ethernet. Я действительно ничего не знаю об iptables. Небольшая помощь будет оценена по достоинству.
Внутри офисной сети
traceroute officework.net
traceroute to officework.net (192.168.0.2), 30 hops max, 60 byte packets
1 192.168.0.2 (192.168.0.2) 2.994 ms !X 2.885 ms !X 2.841 ms !X
Вне офисной сети Вне офисной сети
traceroute officework.net
officework.net: Name or service not known
Cannot handle "host" cmdline arg `officework.net' on position 1 (argc 1)
Trceroute с IP
traceroute 192.168.0.2
traceroute to 192.168.0.2 (192.168.0.2), 30 hops max, 60 byte packets
1 _gateway (192.168.43.1) 1.549 ms 1.416 ms 43.679 ms
2 * * *
3 10.71.135.19 (10.71.135.19) 31.621 ms 40.307 ms 31.470 ms
4 192.168.31.239 (192.168.31.239) 31.274 ms 192.168.31.243 (192.168.31.243) 36.119 ms 40.036 ms
5 192.168.37.9 (192.168.37.9) 39.465 ms 39.675 ms 39.683 ms
6 172.25.11.164 (172.25.11.164) 35.374 ms 24.760 ms 35.150 ms
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
ifconfig за пределами офисной сети
ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 96 bytes 7644 (7.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 96 bytes 7644 (7.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.8.0.6 netmask 255.255.255.255 destination 10.8.0.5
inet6 fe80::3374:cf7a:d81:cc05 prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 39 bytes 3394 (3.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:87:ae:c6 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.43.187 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 2409:4060:9f:2013:387c:6e1c:5399:a2c7 prefixlen 64 scopeid 0x0<global>
inet6 fe80::31a:f142:92dd:f67a prefixlen 64 scopeid 0x20<link>
ether a8:a7:95:67:0f:23 txqueuelen 1000 (Ethernet)
RX packets 6976 bytes 5783306 (5.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7029 bytes 1291358 (1.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Наконец, Google помог с проблемой. Как объяснено в https://openvpn.net/community-resources/how-to/#scope я добавил
push "route 192.168.0.0 255.255.255.0"
В файл конфигурации сервера и добавил iptables
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp1s0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 192.168.0.253
Теперь все работает как шарм. Если вы хотите, чтобы DNS работал, просто добавьте запись DNS-сервера в соединение Wi-Fi или Lan, и вы находитесь в офисе.
Вам необходимо использовать свои DNS-серверы, на которых размещаются записи для сайта интрасети, а не общедоступные DNS-серверы. Скорее всего ваши внутренние серверы. Попробуйте ввести IP-адрес сайта интрасети в своем браузере и посмотрите, подключается ли он.