在 Ubuntu 中使用两个或更多网络接口

在 Ubuntu 中使用两个或更多网络接口

我同时拥有两个或更多网络接口,并想使用每个网络通过它发送特殊请求。

例如 : 我想观看“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 

当时wlp2s0enx0c5b8f279a64是我的两个网络接口,我的数据默认通过发送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 执行的所有请求

相关内容