나는 성공하지 못한 채 이 작업을 수행하는 방법에 대한 자세한 내용을 검색했습니다. 누구든지 조언을 해줄 수 있는지 궁금합니다.
나는 2개의 네트워크 카드(내 경우에는 LAN과 3G)를 가지고 있는데, LAN은 기본 인터페이스(정적)이고 3G는 동적입니다.
내 컴퓨터에는 포트 19000의 LAN 고정 외부 IP를 통해 액세스할 수 있는 사용자 지정 프록시 서버가 설치되어 있습니다. 작동하지만 기본 LAN 인터페이스를 통해 라우팅되므로 이 프록시 트래픽을 3G 인터페이스를 통해 라우팅해야 합니다.
내 인터페이스와 경로 테이블은 다음과 같습니다.
eth0 Link encap:Ethernet HWaddr 0e:93:9f:f1:98:10
inet addr:10.100.9.35 Bcast:10.100.9.255 Mask:255.255.255.0
eth1 Link encap:Ethernet HWaddr 02:1e:10:1f:00:00
inet addr:10.226.59.139 Bcast:10.226.59.143 Mask:255.255.255.248
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.100.9.1 0.0.0.0 UG 0 0 0 eth0
10.100.9.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.226.59.136 0.0.0.0 255.255.255.248 U 0 0 0 eth1
ip route list
default via 10.100.9.1 dev eth0
10.100.9.0/24 dev eth0 proto kernel scope link src 10.100.9.35
10.226.59.136/29 dev eth1 proto kernel scope link src 10.226.59.139
인터페이스 eth0은 내 LAN 카드이고 인터페이스 eth1은 내 3G 카드입니다. 문제는 3G 인터페이스 IP도 모바일 인터넷에 재접속할 때마다 바뀌기 때문에 eth1의 IP도 매번 다르다는 점이다.
그렇다면 오징어 프록시를 사용한다고 가정하면 http_port를 tcp_outgoing_address로 구성할 수 있지만 eth1 주소가 매번 변경된다면 어떤 주소를 설정해야 할까요?
예를 들어.
http_port 19000
tcp_outgoing_address ?
라우팅 테이블에 외부 웹 IP를 추가한 다음 프록시를 통해 액세스하여 작은 테스트를 수행했는데 3G eth1을 통해 올바르게 라우팅되었습니다.
ip route replace 216.146.206.83 dev eth1
하지만 이 경우에는 프록시 서버에 추가하고 각 방문 IP를 내 라우팅 테이블에 추가한 다음 강제로 eth1을 통과하도록 해야 하지만 이로 인해 라우팅 테이블에 많은 수의 IP가 생길 수 있습니다.
또한 컬을 사용하면 인터페이스 이름 패킷이 eth1을 통해 전송되지만 eth1 인터페이스 IP를 사용할 때 연결 시간 초과가 발생합니다.
curl --interface eth1 checkip.dyndns.org
curl --interface 10.226.59.139 checkip.dyndns.org
이제 무엇을 더 시도해야 할지 모르겠습니다. 돕다? 어떤 제안이라도 환영합니다.