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