VPN을 통과하지 않고 웹 사이트에 연결해야하는 경우가 있습니다. Firefox의 인스턴스를 열고 일반 eth0
인터페이스 대신 tun0?
VPN을 통과하지 않고 웹 사이트에 연결해야하는 경우가 있습니다. Firefox의 인스턴스를 열고 일반 eth0
인터페이스 대신 tun0?
답변:
다음과 같이 eth0를 통해 전달하려는 모든 웹 사이트의 경로를 추가 할 수 있습니다.
ip route add websiteIP via gatewayIP dev eth0
여기에서 방문하려는 웹 사이트의 IP 주소를 추가합니다. websiteIP
, 그리고에서 일반 게이트웨이 IP를 추가 gatewayIP
.
ip route show
명령을 기본 게이트웨이로 사용할 수 있습니다.
나는 iptables와 비슷한 것을 잠시 뒤로했다. 목표와 프로젝트의 가장 큰 차이점은 네트워크에서 들어오는 모든 트래픽을 tun0으로 리디렉션하려고한다는 것입니다. Firefox에 대한 변경 사항은 필요하지 않습니다. 그것의 요지는 이것입니다 :
rt_tables
특정 패킷을 처리하기 위해 생성됩니다. rt_tables
나머지 게이트웨이와 다른 게이트웨이가 있어야합니다. eth0의 IP 나는 오래된 코드를 발견했는데, 그 코드는 그대로 또는 사소한 수정을 통해 작동 할 것이다. 이것은 게이트웨이에서 실행하는 데 약간 수정 된 코드 세트입니다.
# Create the new custom router table
echo 201 CustomRouter >> /etc/iproute2/rt_tables
# Mark the desired packets for special treatment
iptables -t mangle -A PREROUTING -d 123.123.123.123 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -d 123.123.123.123 -j MARK --set-mark 2
# Assign marked packets to CustomRouter
ip rule add fwmark 2 table CustomRouter
# Set the gateway
ip route add default via 192.168.0.123 dev eth0 table ClientRouter
위의 내용은 123.123.123.123
eth0를 통해 원하는 웹 사이트의 IP 주소입니다. 192.168.0.123
의 IP이다. eth0
. 해당 IP로 두 행을 수정하여 포트 80의 모든 것 또는 특정 IP를 원하는대로 일치 시키십시오. 그만큼 123.123.123.123
이 테스트에 사용 된 가짜 IP 일뿐입니다.
생성하는 선은 CustomRouter
...에서 rt_tables
매번 실행될 필요는 없습니다. 필자가 추출한 perl 스크립트는 이미 있는지 확인하기위한 검사가 있으므로 한번만 수행해야하거나 부팅 할 때마다 한 번만 수행하면됩니다.
ip route 및 iptables를 사용하는 네트워크 규칙은 프로그램 이름을 기준으로 사용할 수 없습니다.
트래픽을 포트 80에 대한 요청이 아닌 firefox에만 다른 인터페이스로 라우트해야하는 경우 최신 커널에서 네트워크 네임 스페이스를 사용할 수 있습니다. 프로세스에 사용할 수있는 시스템 자원을 제한합니다 ( "ip netns").
다음은 비슷한 예를 소개합니다.
http://www.dasblinkenlichten.com/an-introduction-to-network-namespaces/