Servidor OpenVPN para encaminhar a conexão de entrada para o cliente

2

Cenário :

  • O servidor na internet tem o servidor OpenVPN em execução.
  • O Client-1 em casa tem o aplicativo em execução na porta 5000 (UDP e TCP), conectando-se ao servidor no OpenVPN (o aplicativo é vinculado a 0.0.0.0).
  • O Client-2 no trabalho quer se conectar ao aplicativo do Cliente-1 pela Internet, sem se conectar à mesma rede OpenVPN.
  • Os dois clientes estão usando o Windows e o servidor usa o Linux (Ubuntu).

Client-1 <===TUN0===> SERVER <===ETH0===> Client-2

Pergunta :

Como posso configurar o OpenVPN para encaminhar solicitações de conexão de entrada para a porta 5000 da interface eth0 para a porta 5000 da interface tun0 do Client-1, para que o aplicativo do Client-1 possa exibir o conteúdo de volta ao Client-2 tanto em UDP quanto TCP? p>     

por Ikon 12.06.2015 / 14:12

1 resposta

2

Felizmente, encontrei a resposta nesta pergunta do ServerFault .

Algumas configurações que eu tirei deste Tutorial DigitalOcean .

Ter o encaminhamento de porta ativado em sysctl Eu ainda precisava adicionar algumas regras de iptables adicionadas a /etc/ufw/before.rules , parece algo assim:

#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-before-input
#   ufw-before-output
#   ufw-before-forward
#


# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]

-A PREROUTING -i eth0 -p tcp -m tcp --dport 50100 -j DNAT --to-destination [Client-1's vpn address]:50100
-A PREROUTING -i eth0 -p udp -m udp --dport 50100 -j DNAT --to-destination [Client-1's vpn address]:50100

# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES


# Don't delete these required lines, otherwise there will be errors
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
.
.
.
.
.
# allow MULTICAST UPnP for service discovery (be sure the MULTICAST line above
# is uncommented)
-A ufw-before-input -p udp -d 239.255.255.250 --dport 1900 -j ACCEPT


# START OPENVPN RULES
-A FORWARD -d [Client-1's vpn address]/32 -p tcp -m tcp --dport 50100 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d [Client-1's vpn address]/32 -p udp -m udp --dport 50100 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
# END OPENVPN RULES


# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT

Com o sysctl de encaminhamento de porta ativado e o encaminhamento de porta específico do IP iptables , agora a porta 50100 está aberta e encaminhada para a porta do Cliente-1.

    
por 16.06.2015 / 13:32