HTTP 트래픽을 VPN 연결에 바인딩하려면 이러한 iptables 규칙을 어떻게 수정합니까?

HTTP 트래픽을 VPN 연결에 바인딩하려면 이러한 iptables 규칙을 어떻게 수정합니까?

나는 팔로우했다이 가이드transmission-daemonDebian을 실행하는 장치와 데이터를 주고 받기 위해 VPN 서비스를 설정합니다 .

#!/bin/sh

# Print environment variables for transmission's benefit
printenv > /etc/openvpn/myprovider/vpn.env


# Set up VPN routes
ip route add default via $route_vpn_gateway dev $dev table 10

ip rule add from $ifconfig_local/32 table 10
ip rule add to $route_vpn_gateway/32 table 10

ip route flush cache


# Add firewall rules
iptables -A INPUT -i $dev -p udp --dport 24328 -j ACCEPT
iptables -A INPUT -i $dev -p tcp --dport 24328 -j ACCEPT

iptables -A OUTPUT -o $dev -p udp --sport 24328 -j ACCEPT
iptables -A OUTPUT -o $dev -p tcp --sport 24328 -j ACCEPT

나는 이것을 사용했다TorGuard IP 테스트 토런트어떤 IP 주소에서 연결하는지 확인하세요. TorGuard 토렌트는 올바른 VPN IP 주소를 표시합니다.

그러나 웹 브라우저와 온라인 IP 조회 서비스를 통해 내 IP 주소를 확인하면 실제 '집' IP 주소가 표시됩니다.

제가 이러한 설정을 이해하는 방식 iptables은 VPN 트래픽이 전송 포트(24328)로만 전달되도록 허용하고 다른 모든 트래픽은 삭제하도록 설정되어 있다는 것입니다. 그렇다면 트래픽이 일반 인터넷 연결을 통해 실행되는 것으로 보입니다. 이 설명이 맞나요?

일반 브라우저 트래픽(HTTP) 트래픽도 VPN 연결에 바인딩되고 다른 서비스/포트는 변경되지 않도록 이러한 규칙을 수정하는 방법이 있습니까?

저는 PhantomJS브라우저를 사용하고 있으며 기본 포트를 기본값이 아닌 다른 포트로 설정하는 것이 가능하다고 생각합니다.

답변1

이러한 방화벽 규칙은 일반적으로 트래픽이 차단됨을 나타내며 특정 포트로 들어오고 나가는 트래픽을 허용하는 데에만 사용됩니다. 정책에 따라 모든 트래픽이 명백히 허용되므로 이러한 규칙은 트래픽에 아무 것도 추가하지 않습니다.

다음으로 두 번째 라우팅 규칙도 그다지 유용하지 않은 것 같습니다. 장치에 $dev이미 $route_vpn_gatewayIP 주소가 있고 트래픽이 이미 해당 장치로 라우팅되었기 때문입니다.

첫 번째 라우팅 규칙은 $ifconfig_local에서 까지의 모든 트래픽을 라우팅하는(다른 방법으로는 라우팅되지 않음) 규칙을 "완성"해야 합니다 $dev. 이는 지역 트래픽이 발생하는 곳이기 때문입니다 $ifconfig_local. 127.0.0.1모든 트래픽이 VPN을 통과하는 것은 아니기 때문에 그렇지 $ifconfig_local않은 것 같습니다 127.0.0.1.

iptables-save이 명령을 사용 하여 iptables 설정을 볼 수 있고 이 명령을 ip route list사용하여 경로를 볼 수 있습니다.

관련 정보