Estou tentando fazer um roteador VLC / LiFi usando 2 beaglebones e circuitos adicionais. Eles estão rodando em Linux baseado no Debian. Um é agir como o roteador do outro. O roteador tem um cabo Ethernet conectado a ele, que fornece uma conexão à Internet. Cada um deles tem uma interface de rede VLC que foi desenvolvida e configurada por mim. Eles estão na mesma sub-rede. O roteador é 192.168.0.1 e o cliente é 192.168.0.2. Eu configurei o roteamento e o encaminhamento para que todo o tráfego da porta eth0 passe pela vlc0. Isso é o que eu usei para configurar:
echo "1" > sudo /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i vlc0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o vlc0 -j ACCEPT
iptables -t nat -A PREROUTING -d 192.168.0.1 -j DNAT --to-destination 192.168.0.2
No lado do cliente eu tenho 192.168.0.1 configuração como o gateway padrão para que todo o tráfego sai através da interface vlc0.
Com essa configuração, posso fazer ping de qualquer endereço IP sem problemas, mas não consigo fazer ping de URLs como google.com. Eu tentei alterar as informações no arquivo resolv.conf no cliente com vários servidores de nomes como 8.8.8.8 e um local que é usado pelo servidor. Nada disso funcionou.
O servidor funciona bem com ping e navegando na Web.
Eu fiz capturas com o Wireshark para ver quais pacotes estão sendo enviados e vejo a solicitação de DNS sendo enviada, mas sem resposta.
Tags dns networking iptables