Como rotear o tráfego do cliente específico para VPN (PPTP)?

0

A configuração:

  • Eu tenho um servidor configurado como servidor DHCP (isc-dhcp-server) e DNS (bind9) (agindo como um roteador).
  • Ele se conecta à internet via pppoe (ppp0) usando o dispositivo eth0.
  • A eth1 está conectada a um roteador que atua como um ponto de acesso.
  • Por meio do ponto de acesso, os clientes podem se conectar via ethernet ou wifi.
  • O tráfego da eth1 é encaminhado para o ppp0 usando iptables conforme definido aqui (com algumas modificações para corresponder ao dispositivo de internet): link .
  • O
  • IPV6 também é configurado da mesma maneira.
  • O ufw também está ativado com a regra "Anywhere ALLOW 192.168.1.0/24".
  • O servidor também se conecta a uma VPN (PPTP) por meio do ppp0 e, quando conectado, obtém o ppp1 como o nome do dispositivo.

O que eu gostaria de fazer é encaminhar o tráfego da Internet de um cliente específico (baseado em um endereço IP ou MAC) que está se conectando por meio do dispositivo eth1 à VPN via ppp1.

Eu tentei configurar o iptables com as seguintes regras:

iptables -A INPUT -i ppp1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -s 192.168.1.113 -o ppp1 -j ACCEPT
iptables -A FORWARD -i ppp1 -o eth1 -m conntrack  --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE

Mas parece que não está funcionando, não sei o que estou perdendo, tenho quase 0 conhecimento com o iptables.

    
por yce 04.07.2018 / 00:21

1 resposta

0

1) Certifique-se de que seu AP conectado via eth1 bridges sua própria interface ethernet à interface WLAN, caso contrário o DHCP será inútil, e se ele fizer NAT (padrão com muitos roteadores domésticos), você ganhou poderá ver o endereço IP do cliente.

2) Você não precisa de iptables para fazer o roteamento (uma implicância minha; por algum motivo, muitas pessoas na internet acham que precisam de regras de firewall para roteamento ...). Em particular, você não precisa fazer NAT (a menos que sua VPN exija por algum motivo, mas não há nenhuma informação na questão para decidir isso).

Se você quiser rotear pacotes de um cliente em particular, você precisará de roteamento de política (google, existem muitos tutoriais). Basicamente, você faz

ip rule add from <source address> lookup <table name>

e, em seguida, adicione uma tabela que defina o roteamento, no seu caso, via ppp1 e o gateway associado a ele.

ip route get <dest address> dirá onde o SO acha que o pacote deve ir. Muito mais fácil do que depurar regras de firewall.

3) Use wireshark (ou tcpdump , em janelas diferentes, uma para cada interface de rede que seja interessante) para depurar tudo. Sem realmente ver quais pacotes chegam com quais endereços, é difícil dizer o que está errado.

    
por 04.07.2018 / 08:00