Linux netns: 在一个物理接口上使用不同的IP地址运行不同的命令

我有 Debian Stretch VPS 从 4 地址 IPv4. 我想运行一些将它们附加到某些IP地址的程序 (从不同的IP地址进行外出HTTP请求). 所以,例如,团队

~$ curl icanhazip.com

显示特定的不同IP地址。

我做了什么:

0) 订购额外 IP 在我的提供商

1) 编辑 / etc / network / interfaces 并添加其他IP地址:

# Initial configuration after ordering VPS
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

allow-hotplug ens3
iface ens3 inet static
address 194.67.205.100
netmask 255.255.252.0
gateway 194.67.204.1

# Next lines were added by me
auto ens3:1
iface ens3:1 inet static
address 185.125.216.101
netmask 255.255.252.0

auto ens3:2
iface ens3:2 inet static
address 185.125.216.102
netmask 255.255.252.0

auto ens3:3
iface ens3:3 inet static
address 185.125.216.103
netmask 255.255.252.0

2) 然后我创造了 netns 为所有人 IP

ip netns add ns1
ip netns add ns2
and so on

3) 试图添加新创建的界面 netns:

# ip link set ens3:1 netns ns1

4) 此时连接 SSH 爆发。 如果我输入系统 VNC 和表演

ip a

, 我看到整个物理接口 ens3 他所有的rarenefias都从主要的东西中消失了 netns.
https://i.stack.imgur.com/lmOQT.png
我究竟做错了什么? 如何将程序绑定到不同的源IP地址?

P.S. 我开发一个简单的解析器网站 Python, 我需要不同的IP地址来加速包裹 (每秒提供更多要求) 并避免禁止。
已邀请:

窦买办

赞同来自:

此物理接口只能在一个网络命名空间中,因此您的每个别名都不能在您自己的命名空间中。 一旦开始移动一个,一切都会移动,这解释了你的观察。

看到这个问题:
https://serverfault.com/questi ... space
对于这两个解释为什么它是如此,以及基于的解决方案

macvlan

(或者你可以制作桥梁,转发 IP 或者 NAT).

要回复问题请先登录注册