많은 검색 끝에 다음 명령을 사용하여 폭주 네트워크 트래픽을 VPN 인터페이스 tun0으로만 제한할 수 있었습니다.
sudo iptables -A OUTPUT -m owner --uid-owner deluge \! -o tun0 -j REJECT
하지만 이제 포트 8112(예: 192.168.0.23:8112)에서 eth0을 통해 WebUI에 액세스할 수 없습니다.
로컬 네트워크에서 WebUI에 대한 액세스를 제공하기 위해 다른 iptables 규칙을 사용할 수 있습니까?
답변1
이렇게 하면 홍수가 로컬 서브넷을 제외하고 VPN 터널만 사용하게 됩니다.
iptables -A OUTPUT -m owner --uid-owner deluge ! -d 192.168.1.0/24 \! -o tun0 -j REJECT
논리는 로컬 서브넷을 제외하고 VPN 터널이 아닌 모든 출력을 차단한다는 것입니다.
홍수가 어떤 사용자를 사용하는지 확인하십시오. 서브넷을 귀하의 것과 일치하도록 조정하십시오. 또한 ifconfig 내에서 터널 이름(예제에서는 tun0)을 확인하세요.
답변2
또 다른 방법은 VPN 연결과 웹 인터페이스가 eth0을 통과하도록 허용하고 다른 모든 것을 차단하는 것입니다.
-A INPUT -s my.vpn.net -i eth0 -p udp -m udp --sport 1194 -j ACCEPT
-A INPUT -s my.local.ip -i eth0 -p udp -m udp --sport 8112 -j ACCEPT
-A INPUT ! -i tun0 -j DROP
-A OUTPUT -d my.vpn.net -o eth0 -p udp -m udp --dport 1194 -j ACCEPT
-A OUTPUT -d my.local.ip -i eth0 -p udp -m udp --sport 8112 -j ACCEPT
-A OUTPUT ! -o tun0 -j DROP
답변3
컨테이너 사용(LXC/LXD/Docker):
호스트에서 wireguard 인터페이스를 시작한 다음 deluge를 유일한 인터페이스로 실행하는 컨테이너에 인터페이스를 추가하면 액세스는 wireguard 인터페이스로만 제한됩니다.
컨테이너 내부의 localhost에 있는 webui 포트에 바인딩하고 호스트의 모든 주소를 수신하는 프록시 장치를 추가할 수 있습니다.
iptable이 필요하지 않습니다.