我同时拥有两个或更多网络接口,并想使用每个网络通过它发送特殊请求。
例如 : 我想观看“network-1”的视频以及我想通过“network-2”发送的其他请求
ifconfig
输出:
enx0c5b8f279a64: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.8.100 netmask 255.255.255.0 broadcast 192.168.8.255
inet6 fe80::af19:e5c2:350e:ad09 prefixlen 64 scopeid 0x20<link>
ether 0c:5b:8f:27:9a:64 txqueuelen 1000 (Ethernet)
RX packets 74 bytes 16183 (16.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 122 bytes 16282 (16.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 5290686 bytes 3859055101 (3.8 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5290686 bytes 3859055101 (3.8 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1400
inet 81.31.179.204 netmask 255.255.255.255 destination 172.17.1.230
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 292544 bytes 336720863 (336.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 178723 bytes 16928573 (16.9 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::a71b:2220:7e40:1948 prefixlen 64 scopeid 0x20<link>
ether e4:70:b8:cf:4f:81 txqueuelen 1000 (Ethernet)
RX packets 4691632 bytes 4626078058 (4.6 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4675065 bytes 704065262 (704.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我的 IP 路由是
ip route show
输出:
default dev ppp0 proto static scope link metric 50
default via 192.168.8.1 dev enx0c5b8f279a64 proto dhcp metric 20100
default via 192.168.1.1 dev wlp2s0 proto dhcp metric 20600
169.254.0.0/16 dev wlp2s0 scope link metric 1000
172.17.1.230 via 192.168.1.1 dev wlp2s0 src 192.168.1.2
172.17.1.230 dev ppp0 proto kernel scope link src 81.31.179.204 metric 50
172.17.1.230 via 192.168.1.1 dev wlp2s0 proto static metric 600
192.168.1.0/24 dev wlp2s0 proto kernel scope link src 192.168.1.2 metric 600
192.168.1.1 dev wlp2s0 proto static scope link metric 600
192.168.8.0/24 dev enx0c5b8f279a64 proto kernel scope link src
192.168.8.100 metric 100
当时wlp2s0
和enx0c5b8f279a64
是我的两个网络接口,我的数据默认通过发送wlp2s0
。
我想要通过 发送部分请求(例如 YouTube.com),enx0c5b8f279a64
并通过 发送其他请求wlp2s0
。
我认为这是个好主意(也许)
我认为(可能)在本地打开一个端口将我的数据包转发到其中一个(即enx0c5b8f279a64
)是一个好主意(但我不知道其他方法)然后我可以在这个ip /端口上设置我的浏览器代理(即'localhost'/'a_port')并设置它的设置以便仅将此代理用于YouTube.com
答案1
是的,代理是实现目标的解决方案。据我所知,Squid 应该允许您根据目标 URL 重定向流量,并定义传出地址。
例如,要设置 youtube 的传出地址,squid acl 将像某些人认为的那样:
....
acl viaVideo dstdomain youtube.com
tcp_outgoing_address 192.168.1.1 viaVideo
....
先前的规则将告诉 squid 通过 192.168.1.1 发送对 youtube.com 执行的所有请求