Como posso encaminhar o tráfego hostapd através de uma VPN PPTP?

3

Estou tentando configurar meu próprio pequeno ponto de acesso e tenho dois elementos principais funcionando.

  1. O ponto de acesso WiFi é conectável. Posso acessar um servidor web no roteador
  2. SSH-ing no roteador, posso me conectar à internet externa via PPTP

Alguém sabe de alguma maneira que eu possa conectar os dois elementos juntos?

    
por Joe Simpson 28.09.2013 / 21:11

2 respostas

2

Primeiro, você precisa ativar o encaminhamento de IP:

echo 1 > /proc/sys/net/ipv4/ip_forward

Supondo então que sua VPN atribui um IP estático, você precisará de SNAT:

iptables -t nat -A POSTROUTING -o <TUNNEL INTERFACE> -j SNAT --to-source <VPN IP>

substituindo e conforme apropriado ofc. Se a sua VPN fornecer um IP dinâmico, você precisará usar o MASQUERADE:

iptables -t nat -A POSTROUTING -o <TUNNEL INTERFACE> -j MASQUERADE

Em seguida, verifique se sua tabela de roteamento está correta com:

route -n

verifique se você tem uma linha semelhante a esta:

0.0.0.0         <VPN ENDPOINT IP>     0.0.0.0         UG    2      0        0 <VPN INTERFACE>

se estiver faltando, adicione:

route add default gw <VPN ENDPOINT IP> dev <VPN INTERFACE>

Cada distro tem seus próprios métodos para fazer essas alterações permanentes / persistentes, então eu precisaria de mais informações para ajudar nesse sentido.

    
por 03.10.2013 / 12:14
0

Depois de instalar o pptpd e tentar fazer com que minha conexão VPN encaminhe qualquer tráfego quando conectado. Eu usei as regras do iptables abaixo e funcionou perfeitamente! Eu não precisei de acesso à LAN de nenhuma maneira, então eu não usei isso, mas o cliente VPN < - > O mundo ajudou muito.

Estou compartilhando as regras aqui se alguém quiser.

 # Allow traffic initiated from VPN to access LAN
iptables -I FORWARD -i ppp* -o eth0 \
     -s 10.0.0.0/24 -d 192.168.0.0/24 \
     -m conntrack --ctstate NEW -j ACCEPT

# Allow traffic initiated from VPN to access "the world"
iptables -I FORWARD -i ppp* -o eth1 \
     -s 10.0.0.0/24 -m conntrack --ctstate NEW -j ACCEPT

# Allow traffic initiated from LAN to access "the world"
iptables -I FORWARD -i eth0 -o eth1 \
     -s 192.168.0.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

# Notice that -I is used, so when listing it (iptables -vxnL) it
# will be reversed.  This is intentional in this demonstration.

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

# Masquerade traffic from LAN to "the world"
iptables -t nat -I POSTROUTING -o eth1 \
      -s 192.168.0.0/24 -j MASQUERADE

Claro, suponho que você já tenha feito

echo 1 > /proc/sys/net/ipv4/ip_forward
    
por 01.03.2016 / 03:56