Como acessar uma porta somente via OpenVpn

2

Eu configurei um servidor openvpn ao lado de um site da apache que só pode ser acessado na porta 8100 na mesma máquina. Meu arquivo /etc/openvpn/server.conf tem esta aparência:

port 1194
proto tcp
dev tun
ca ./easy-rsa2/keys/ca.crt
cert ./easy-rsa2/keys/server.crt
key ./easy-rsa2/keys/server.key  # This file should be kept secret
dh ./easy-rsa2/keys/dh1024.pem # Diffie-Hellman parameter
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# make sure clients can still connect to the internet
push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

Agora eu tentei permitir que apenas clientes conectados à rede vpn acessassem o site no apache via porta 8100. Então eu defini algumas regras do iptables:

#!/bin/sh
# My system IP/set ip address of server
SERVER_IP="10.0.0.10"
# Flushing all rules
iptables -F
iptables -X
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Allow incoming access to port 8100 from OpenVPN 10.8.0.1
iptables -A INPUT -i tun0 -p tcp --dport 8100 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o tun0 -p tcp --sport 8100 -m state --state ESTABLISHED -j ACCEPT
# outgoing http
iptables -A OUTPUT -o tun0 -p tcp --dport 8100 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i tun0 -p tcp --sport 8100 -m state --state ESTABLISHED -j ACCEPT

Agora, quando me conecto ao servidor do meu computador cliente e tento acessar o site em 10.0.0.10:8100, meu navegador não consegue abri-lo. Terei que encaminhar o tráfego de tun0 para eth0? Ou há mais alguma coisa que eu esteja sentindo falta?

FYI: Estou executando o servidor Ubuntu 12.04.1 LTS. Iptables está instalado.

    
por Andy M 24.11.2012 / 17:11

1 resposta

0

Como você está usando uma sub-rede / IP diferente da fornecida pelo OpenVPN, provavelmente é necessário permitir que o servidor faça NAT para que isso funcione.

Execute os seguintes comandos:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Você deve ajustar a regra do iptables para atender às suas necessidades. Isso deve fazer você trabalhar.

    
por 24.11.2012 / 17:36

Tags