向 ubuntu 添加新界面不起作用

向 ubuntu 添加新界面不起作用

我想使用 python 创建一个可以处理多个 ip 的爬虫,所以我需要一个具有多个 ip 的虚拟机。

我使用 python 发送请求如下:

import requests
from requests_toolbelt.adapters import source

def send_request():
    session = requests.session()
    new_source = source.SourceAddressAdapter('5.34.201.22')
    session.mount('http://', new_source)
    session.mount('https://', new_source)
    response = session.get('https://example.com/')

我正在使用 ubuntu server 22.04,有 4 个接口,我想更改netplan配置以拥有 4 个静态 ip。
我使用ip route show命令来查找这些接口的网关。

default via 5.34.200.1 dev eth2 proto static 
default via 188.121.116.1 dev eth1 proto static 
default via 5.34.200.1 dev eth0 proto static 
default via 188.121.116.1 dev eth0 proto static 
default via 188.121.116.1 dev eth3 proto dhcp src 188.121.119.142 metric 100 
5.34.200.0/22 dev eth2 proto kernel scope link src 5.34.201.218 
5.34.200.0/22 dev eth0 proto kernel scope link src 5.34.201.22 
169.254.169.254 via 188.121.116.10 dev eth3 proto dhcp src 188.121.119.142 metric 100 
188.121.116.0/22 dev eth1 proto kernel scope link src 188.121.116.94 
188.121.116.0/22 dev eth0 proto kernel scope link src 188.121.116.94 
188.121.116.0/22 dev eth3 proto kernel scope link src 188.121.119.142 metric 100 
188.121.116.1 dev eth3 proto dhcp scope link src 188.121.119.142 metric 100 
188.121.116.10 dev eth3 proto dhcp scope link src 188.121.119.142 metric 100 

我修改了netplan配置文件/etc/netplan/50-cloud-init.yaml如下:

network:
    version: 2
    ethernets:
        eth0:
            addresses:
            - 5.34.201.22/22
            - 5.34.201.218/22
            nameservers:
                addresses:
                - 8.8.8.8
            routes:
                - to: default
                  via: 5.34.200.1
        eth1:
            addresses:
            - 188.121.116.94/22
            - 188.121.119.142/22
            nameservers:
                addresses:
                - 8.8.8.8
            routes:
                - to: default
                  via: 188.121.116.1

mtr我使用这样的命令测试了 ips 。

mtr -a 5.34.201.22 example.com

但没有连接。

在此处输入图片描述

更新

也尝试过这个。

network:
    version: 2
    ethernets:
        eth0:
            addresses:
            - 5.34.201.22/22
            nameservers:
                addresses:
                - 8.8.8.8
            routes:
                - to: default
                  via: 5.34.200.1
        eth1:
            addresses:
            - 188.121.116.94/22
            nameservers:
                addresses:
                - 8.8.8.8
            routes:
                - to: default
                  via: 188.121.116.1
        eth2:
            addresses:
            - 5.34.201.218/22
            nameservers:
                addresses:
                - 8.8.8.8
            routes:
                - to: default
                  via: 5.34.200.1
        eth3:
            addresses:
            - 188.121.119.142/22
            nameservers:
                addresses:
                - 8.8.8.8
            routes:
                - to: default
                  via: 188.121.116.1

但它没有作用。

答案1

        eth2:
[...skip...]
            routes:
                - to: default  <=== default route #1
                  via: 5.34.200.1
        eth3:
[...skip...]
            routes:
                - to: default  <=== default route #2 
                  via: 188.121.116.1

如果没有其他可用路由,则选择默认路由。根据定义,您只能有一个默认路由,其他路由必须指定到与接口位于同一子网的路由器。

https://en.wikipedia.org/wiki/Default_route

多宿主是将一台主机或计算机网络连接到多个网络的做法。这样做是为了提高可靠性或性能。 https://en.wikipedia.org/wiki/Multihoming

但是,如果您拥有多个面向 Internet 的 IP 地址,则您只能在 Internet 上显示为多个特定 IP 地址。在一台未直接连接到 Internet 的计算机上拥有多个 IP 地址将不允许您这样做。

因此,您必须发送经过转发的数据包,尽管该数据包确实与 Internet 有多个连接。

如何使用不同的出口 IP 同时运行多个 Tor 进程?

“多个出口 IP”是指来自 Tor 的流量来自多个 IP 地址。这至少可以说是一种变通方法。您将无法控制 IP 地址,Tor 会为您提供它所提供的任何 IP 地址。可能有更好的解决方案,可以使用多个虚拟专用服务器 (VPS),您将流量发送到这些服务器,然后它会从每个 VPS 上的地址转发流量。

如果您真正想做的是监控某项需要运行的服务,那么有各种各样的选择。

寻找 APM,即应用程序性能监控,也称为应用程序性能管理。

https://www.google.com/search?q=foss+apm

https://en.wikipedia.org/wiki/Application_performance_management

相关内容