Como fazer com que a configuração do cliente OpenVPN (Mikrotik RouterOS) servidor OpenVPN (Debian/Linux) funcione

Como fazer com que a configuração do cliente OpenVPN (Mikrotik RouterOS)  servidor OpenVPN (Debian/Linux) funcione

Tenho alguns problemas em fazer o MT funcionar com o servidor OpenVPN (Debian). Consigo estabelecer uma conexão bem-sucedida com o servidor OVPN, mas o tráfego não é roteado através do servidor OVPN. Aqui está minha configuração.

Configurar -https://i.stack.imgur.com/AAH9Y.jpg

Configuração do servidor OpenVPN (Debian/Linux)

# cat /etc/openvpn/server.conf
local 95.2.171.3
porta 1194
protocolo tcp
desenvolvedor

ca ca.crt
servidor certificado.crt
servidor chave.chave
dh dh.pem

servidor 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

cliente-config-dir ccd
rota 192.168.81.0/24 255.255.255.0

manutenção de atividade 10 120
tun-mtu 1500
mssfix 1450

cifra AES-256-CBC
autenticação sha1

chave persistente
persistir-tun

status /var/log/openvpn-status.log
log-append /var/log/openvpn.log

verbo 5
crl-verify /etc/openvpn/easy-rsa/pki/crl.pem

# cat /etc/openvpn/ccd/client
rota 192.168.81.0 255.255.255.0 10.8.0.2
ifconfig-push 10.8.0.2 10.8.0.1

# cat /proc/sys/net/ipv4/ip_forward
1

# netstat -an | grep 1194
tcp 0 0 95.2.171.3:1194 0.0.0.0:* ESCUTAR
tcp 0 0 95.2.171.3:1194 81.190.190.100:62973 ESTABELECIDO

# ifconfig
eth0 Link encap:Ethernet HWaddr 20:cf:30:f2:a8:76
          endereço inet:95.2.171.3 Bcast:95.2.171.31 Máscara:255.255.255.224
          endereço inet6: fe80::22cf:30ff:fef2:a876/64 Escopo:Link
          UP TRANSMISSÃO EM EXECUÇÃO MULTICAST MTU:1500 Métrica:1
          Pacotes RX:255189 erros:0 descartados:0 excedentes:0 quadro:0
          Pacotes TX:333054 erros:0 descartados:0 excedentes:0 operadora:0
          colisões:0 txqueuelen:1000
          Bytes RX: 34521411 (32,9 MiB) Bytes TX: 367074147 (350,0 MiB)
          Interrupção:26 Endereço base:0x8000

lo Link encap:Loopback local
          endereço inet:127.0.0.1 Máscara:255.0.0.0
          endereço inet6: ::1/128 Escopo:Host
          UP LOOPBACK EM EXECUÇÃO MTU:16436 Métrica:1
          Pacotes RX:15579 erros:0 descartados:0 ultrapassagens:0 quadro:0
          Pacotes TX:15579 erros:0 descartados:0 sobrecargas:0 operadora:0
          colisões:0 txqueuelen:0
          Bytes RX: 1326071 (1,2 MiB) Bytes TX: 1326071 (1,2 MiB)

tun0 Link encap: UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          endereço inet:10.8.0.1 PtP:10.8.0.2 Máscara:255.255.255.255
          PONTO ACIMA EM EXECUÇÃO NOARP MULTICAST MTU:1500 Métrica:1
          Pacotes RX:57 erros:0 descartados:0 ultrapassagens:0 quadro:0
          Pacotes TX:6 erros:0 descartados:0 sobrecargas:0 operadora:0
          colisões:0 txqueuelen:100
          Bytes RX: 6669 (6,5 KiB) Bytes TX: 504 (504,0 B)

#netstat -rn
Tabela de roteamento IP do kernel
Gateway de destino Genmask sinaliza janela MSS irtt Iface
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
95.2.171.0 0.0.0.0 255.255.255.224 U 0 0 0 eth0
192.168.81.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 95.2.171.30 0.0.0.0 UG 0 0 0 eth0

#iptables -S
-P ENTRADA ACEITAR
-P AVANÇAR ACEITAR
-P SAÍDA ACEITAR
-A ENTRADA -i lo -j ACEITAR
-A INPUT -d 127.0.0.0/8 -i !lo -j REJECT --reject-with icmp-port-unreachable
-A ENTRADA -i tun0 -j ACEITAR
-A ENTRADA -m estado --estado RELACIONADO, ESTABELECIDO -j ACEITAR
-A ENTRADA -p tcp -m tcp --dport 1194 -j ACEITAR
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables negado: " --log-level 7
-A INPUT -j REJECT --reject-with icmp-port-unreachable
-A SAÍDA -j ACEITAR

#iptables -t nat -S
-P PRÉ-ROTE ACEITAR
-P PÓS-TROU ACEITAR
-P SAÍDA ACEITAR
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3

#ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes de dados.
64 bytes de 8.8.8.8: icmp_req=1 ttl=55 tempo=12,9 ms
64 bytes de 8.8.8.8: icmp_req=2 ttl=55 tempo=12,8 ms

Esta é toda a minha configuração no servidor OpenVPN (Debian/Linux).

Configuração do lado do cliente OpenVPN (Mikrotik RouterOS 6)

/impressão de interface
Sinalizadores: D - dinâmico, X - desabilitado, R - em execução, S - escravo
 # NOME TIPO ACTUAL-MTU L2MTU MAX-L2MTU ENDEREÇO ​​MAC
 0 R éter1 éter 1500 1600 4076 D4:CA:6D:31:14:F4
 1 S éter2 éter 1500 1598 2028 D4:CA:6D:31:14:F5
 2 S éter3 éter 1500 1598 2028 D4:CA:6D:31:14:F6
 3 S éter4 éter 1500 1598 2028 D4:CA:6D:31:14:F7
 4 S éter5 éter 1500 1598 2028 D4:CA:6D:31:14:F8
 5 RS wlan1 wlan 1500 1600 D4:CA:6D:31:14:F9
 6 ponte R1 ponte 1500 1598 D4:CA:6D:31:14:F5
 7 R ovpn-out1 ovpn-out 1500 FE:3E:27:7D:61:8C

 /impressão de ponte de interface
Sinalizadores: X - desabilitado, R - em execução
 0 R name="bridge1" mtu=auto actual-mtu=1500 l2mtu=1598 arp=enabled mac-address=D4:CA:6D:31:14:F5 protocol-mode=rstp prioridade=0x8000 auto-mac=yes admin -mac=00:00:00:00:00:00 max-message-age=20s forward-delay=15s transmit-hold-count=6 tempo de envelhecimento=5m

/impressão de porta de ponte de interface
Sinalizadores: X - desabilitado, I - inativo, D - dinâmico
 # INTERFACE PONTE PRIORIDADE PATH-COST HORIZON
 0 I ether2 bridge1 0x80 10 nenhum
 1 I ether3 bridge1 0x80 10 nenhum
 2 I ether4 bridge1 0x80 10 nenhum
 3 I ether5 bridge1 0x80 10 nenhum
 4 wlan1 bridge1 0x80 10 nenhum

 /endereço IP imprimir
Sinalizadores: X - desabilitado, I - inválido, D - dinâmico
 # INTERFACE DE REDE DE ENDEREÇO
 0 192.168.81.1/24 192.168.81.0 ponte1
 1D 192.168.7.200/24 ​​192.168.7.0 éter1
 2 D 10.8.0.2/32 10.8.0.1 ovpn-out1

 /ip firewall nat impressão
Sinalizadores: X - desabilitado, I - inválido, D - dinâmico
 0 chain=srcnat action=masquerade to-addresses=0.0.0.0 out-interface=ether1 log=no log-prefix=""

 /ip imprimir rota
Sinalizadores: X - desativado, A - ativo, D - dinâmico, C - conectar, S - estático, r - rip, b - bgp, o - ospf, m - mme, B - buraco negro, U - inacessível, P - proibir
 # DST-ADDRESS PREF-SRC GATEWAY DISTÂNCIA
 0 ANÚNCIOS 0.0.0.0/0 192.168.7.1 0
 1 ADC 10.8.0.1/32 10.8.0.2 ovpn-out1 0
 2 ADC 192.168.7.0/24 192.168.7.200 éter1 0
 3 ADC 192.168.81.0/24 192.168.81.1 ponte1 0

 /interface impressão do cliente ovpn
Sinalizadores: X - desabilitado, R - em execução
 0 R name="ovpn-out1" mac-address=FE:3E:27:7D:61:8C max-mtu=1500 connect-to=195.13.171.3 port=1194 mode=ip user="client" password=" " profile=certificado padrão=Cliente auth=sha1 cipher=aes256 add-default-route=no

 /ping 10.8.0.1
  SEQ TAMANHO DO HOST TTL STATUS DE TEMPO
    0 10.8.0.1 56 64 6ms
    1 10.8.0.1 56 64 9ms
    2 10.8.0.1 56 64 7ms
    3 10.8.0.1 56 64 6ms
    enviado = 4 recebidos = 4 perda de pacote = 0% min-rtt = 6ms avg-rtt = 7ms max-rtt = 9ms

Como você pode ver, posso executar ping no servidor OpenVPN do Mikrotik. Mas quando eu uso a internet do PC local ele mostra o endereço IP 81.190.190.100, não o que eu gostaria de ver - IP dos servidores OpenVPN - 95.2.171.3.

Consigo executar ping/traceroute com êxito para 10.8.0.1 do laptop (192.168.81.100/24), mas não consigo entender por que ele não é roteado através do túnel VPN. Acho que está faltando alguma coisa no roteamento tanto no servidor (Linux) quanto no cliente (mikrotik).

Obrigado pela ajuda! Estou brincando com isso há um tempo e não consigo fazê-lo funcionar :(

Tenha um bom dia!

Responder1

Seu cliente não está roteando pelo túnel OVPN porque não existe rota (gateway padrão) no mikrotik!

Então adicione outro gateway no mikrotik com uma marca de roteamento com destino do servidor OVPN 10.8.0.1

 /ip route add dst-address=0.0.0.0/0 gateway=10.8.0.1 routing-mark=clientmark

É claro que você deve adicionar uma regra mangle para a marca de roteamento como:

/ip firewall mangle add action=mark-routing chain=prerouting src-address=192.168.81.0/24 new-routing-mark=clientmark

Também deve haver uma regra nat para o cliente (endereços src 192.168.81.0/24) nele.

ip firewall nat add action=masquerade chain=srcnat src-address=192.168.81.0/24 out-interface=ovpn-out1

informação relacionada