Configurando o Shorewall para o OpenVPN roteado

2

Eu tenho um servidor Ubuntu 14.04 que serve como um roteador NAT. O roteamento é realizado usando o Shorewall, principalmente de acordo com este tutorial . A LAN tem a sub-rede 10.0.0.0/24

Nesta máquina eu também quero rodar um servidor OpenVPN, que escuta na porta 1194 (udp). Os clientes que se conectam a essa VPN (da Internet) devem se encontrar na sub-rede 10.34.56.0/24 . Os hosts na sub-rede da VPN devem ser capazes de alcançar hosts na sub-rede da LAN, com as conexões udp e tcp. Além disso, os hosts na sub-rede da VPN devem poder acessar a Internet através do meu servidor (mascarados).

Minha pergunta é: Como configuro o Shorewall para que isso aconteça?
a) Os clientes VPN conectados devem receber uma resposta do servidor OpenVPN
b) Os hosts na sub-rede da VPN devem poder acessar a internet

Meu /etc/shorewall/rules contém uma linha que abre a porta do servidor OpenVPN para conexões VPN de entrada

#ACTION         SOURCE          DEST            PROTO   DEST    SOURCE 
#                                               PORT    PORT(S)
# listen for VPN on net
ACCEPT          net             $FW             udp     1194

Eu tentei usar um arquivo /etc/shorewall/tunnels , como esta página sugere, mas sem sucesso. Também tentei traduzir o arquivo /etc/shorewall/tunnels em /etc/shorewall/rules , conforme esta página , mas isso também não foi bem-sucedido. Tudo que recebo é um tempo limite enquanto configura a conexão.

Mais alguns arquivos de configuração do meu shorewall:

Meu /etc/shorewall/interfaces

#ZONE   INTERFACE       BROADCAST       OPTIONS
net     p10p1           detect          #...
loc     eth1            detect          #...
vpn     tun+

Meu /etc/shorewall/zones

#ZONE   TYPE    OPTIONS                 IN                      OUT
#                                       OPTIONS                 OPTIONS
fw      firewall
net     ipv4
loc     ipv4
vpn     ipv4

Meu /etc/shorewall/masq

#INTERFACE:DEST         SOURCE          ADDRESS         PROTO   PORT(S) IPSEC   MARK    USER/   SWITCH  ORIGINAL
#                                                                                       GROUP           DEST
p10p1                   10.0.0.0/24
    
por derabbink 14.06.2014 / 12:58

1 resposta

0

Tente alterar a regra:

ACCEPT          net             $FW             udp     1194

Para ser:

ACCEPT:info          net             $FW             udp     1194

Em seguida, siga o arquivo / var / log / syslog para ver se a conexão foi iniciada.

Certifique-se de que o arquivo / etc / shorewall / policy tenha uma seção para permitir VPN para LOC e LOC para VPN:

loc       vpn         ACCEPT
vpn       loc         ACCEPT

... ou regras no arquivo / etc / shorewall / rules para permitir loc para vpn e vpn para loc.

ACCEPT         loc       vpn
ACCEPT         vpn       loc

E o seu arquivo / etc / shorewall / tunnels deve ter isso:

openvpnserver:1194      net     0.0.0.0/0

Se tudo isso estiver configurado e funcionando, você pode ter um problema com a configuração openvpn. Aqui está um exemplo da minha configuração, com alterações para corresponder à sua configuração.

# General Options
local your.public.ip
dev tun0
proto udp
port 1194
topology subnet
client-config-dir /etc/openvpn/ccd

# Certificate locations
ca /etc/openvpn/easyrsa/keys/ca.crt
cert /etc/openvpn/easyrsa/keys/gateway.crt
key /etc/openvpn/easyrsa/keys/gateway.key
dh /etc/openvpn/easyrsa/keys/dh2048.pem

# Who the openvpn process run as
user nobody
group nogroup

# Use this range for IP's
server 10.34.56.0 255.255.255.0
persist-key
persist-tun

# Allow client to client traffic
client-to-client

# Set VPN as Default GW
#push “redirect-gateway def1″

# Push routes to client (prefered over default route)
push "route 10.0.0.0 255.255.255.0"

#set the dns servers
push “dhcp-option DNS 10.0.0.1″

status /var/log/openvpn-status.log
verb 5
log-append /var/log/openvpn
comp-lzo
keepalive 20 120
    
por 10.07.2014 / 05:10