2개의 비글본과 추가 회로를 사용하여 VLC/LiFi 라우터를 만들려고 합니다. Debian 기반 Linux에서 실행됩니다. 하나는 다른 하나의 라우터 역할을 합니다. 라우터에는 인터넷 연결을 제공하기 위해 이더넷 케이블이 연결되어 있습니다. 그들 각각은 내가 개발하고 구성한 VLC 네트워크 인터페이스를 가지고 있습니다. 동일한 서브넷에 있습니다. 라우터는 192.168.0.1이고 클라이언트는 192.168.0.2입니다. eth0 포트의 모든 트래픽이 vlc0을 통과하도록 라우팅 및 전달을 설정했습니다. 이것이 내가 설정하는 데 사용하는 것입니다.
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
클라이언트 측에서는 모든 트래픽이 vlc0 인터페이스를 통해 나가도록 192.168.0.1을 기본 게이트웨이로 설정했습니다.
이 설정을 사용하면 문제 없이 모든 IP 주소를 핑할 수 있지만 URL(예: google.com)은 핑할 수 없습니다. 8.8.8.8 등 다양한 네임서버와 해당 서버에서 사용하는 로컬 네임서버를 이용하여 클라이언트에서 resolv.conf 파일의 정보를 변경해 보았습니다. 이 중 아무것도 작동하지 않았습니다.
서버는 무엇이든 핑하고 웹을 정상적으로 탐색할 수 있습니다.
어떤 패킷이 전송되고 있는지 확인하기 위해 Wireshark를 사용하여 캡처를 했는데 DNS 요청이 이루어졌지만 응답이 없는 것을 확인했습니다.