1

У меня есть следующий server.conf:

# listen on? (optional)
local 192.168.1.102

# port
port 443

# TCP
proto tcp

#tunnel
dev tun

# Certs
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key  # This file should be kept secret

# Diffie hellman parameters.
dh /etc/openvpn/keys/dh2048.pem

# Configure server mode
server 10.8.0.0 255.255.255.0

ifconfig 10.8.0.1 10.8.0.2


# Maintain a record of client <-> virtual IP address
ifconfig-pool-persist ipp.txt

# Push routes to the client
push "route 10.8.0.1 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
push "route 192.168.1.102 255.255.255.0"

# Redirect
push "redirect-gateway def1 bypass-dhcp"

# DNS
push "dhcp-option DNS 192.168.1.1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

# Use same key mult clients
duplicate-cn

# The keepalive
keepalive 10 120

# Compression
comp-lzo

# presistence options
persist-key
persist-tun

# log
status openvpn-status.log
log-append  /var/log/openvpn.log
verb 3

Сетевой картой сервера является eno1 . Сервер находится в сети 192.168.1.102 в сети моего маршрутизатора (клиент также изначально находится в этой сети). Мой маршрутизатор имеет правило переадресации:

Source net:
source port: 443
Dest ip: 192.168.1.102
Dest port: 443

Правило iptables, которое я сделал (на сервере openvpn):

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eno1 -j MASQUERADE

И у меня есть следующий клиентский конфиг для openvpn:

client
dev tun
proto tcp

#Server IP and Port
remote 192.168.1.102 443

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo 

Я могу подключиться к VPN, и он правильно дает мне IP 10.8.0.6 .

Но когда я пытаюсь перейти к чему-либо в Интернете, это просто время ожидания. Как сделать так, чтобы openvpn проходил через запрос?

ПРИМЕЧАНИЕ. Когда я просматриваю журнал openvpn, последнее, что я вижу от клиента, это "УПРАВЛЕНИЕ ОТПРАВЛЕННЫМИ". Ничего о попытке попасть на веб-адрес, который я пытаюсь достичь.

(Я также выключил брандмауэр и отключил selinux)

1 ответ1

1

Измените правило iptables на:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j MASQUERADE

и убедитесь, что у вас включен IPv4,

echo 1 > /proc/sys/net/ipv4/ip_forward

и что у вас нет правил iptables, блокирующих цепочку FORWARD таблицы фильтров .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .