Rota o tráfego da internet do openvpn tun0 para eth0

4

Eu não consigo descobrir.
Como faço para que usuários VPN escolhidos acessem a internet através da eth0? Todo o tráfego do servidor passa pela eth1.
A eth0 só deve fornecer acesso à internet aos usuários VPN nas portas escolhidas e nada mais.
Os usuários se conectam através da eth1 e recebem um IP no tun0 com configurações individuais, esse é um dos usuários ccd:

ifconfig-push 192.168.200.5 192.168.200.6
push "redirect-gateway def1"

a configuração do usuário

client

dev tun

proto udp

remote 192.168.0.55 1194

resolv-retry infinite

persist-key persist-tun

ca ca.crt cert client.crt key client.key

ns-cert-type server

tls-auth ta.key 1

comp-lzo

verb 3

Configuração do servidor:

local 192.168.0.55

port 1194

proto udp

dev tun

ca ca.crt cert server.crt key server.key

dh1024.pem

server 192.168.200.0 255.255.255.0

ifconfig-pool-persist ipp.txt

client-to-client

keepalive 10 120

tls-auth ta.key 0

comp-lzo

max-clients 10

persist-key persist-tun

Minhas regras atuais de tabela de IPs:

#Flush all
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#Allow all
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

#Allow loopback
iptables -A INPUT -i lo -j ACCEPT

#Block all incoming on eth0 and allow established connections
iptables -A INPUT -i eth0 -j DROP
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

Encaminhamento ativado:

sysctl net.ipv4.ip_forward=1



Depois de horas no google ( link ) eu pensei que esta era a maneira correta, mas não funciona:

# Allow traffic initiated from VPN to access "the world"
iptables -I FORWARD -i tun0 -o eth0 \ -s 192.168.200.0/24 -m conntrack --ctstate NEW -j ACCEPT

# Allow established traffic to pass back and forth
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED \
     -j ACCEPT

# Masquerade traffic from VPN to "the world" -- done in the nat table
iptables -t nat -I POSTROUTING -o eth0 \
      -s 192.168.200.0/24 -j MASQUERADE


Ajuda é apreciada:)

Mapa de rede link

    
por Gunnar 13.04.2014 / 12:25

1 resposta

1

Você também precisa configurar uma tabela de roteamento de políticas que diga ao Linux para usar o gateway padrão atrás da eth0 para usuários VPN.

Assim, você criaria uma nova tabela de roteamento para pacotes onde o endereço IP de origem está em 192.168.200.0/24 e tornaria o gateway padrão para essa tabela de roteamento o gateway padrão atrás de eth0.

    
por 14.04.2014 / 15:15