在多 IP 的服务器上为进程指定 IP – 微林 – vx.link

在多 IP 的服务器上为进程指定 IP – 微林 – vx.link

如果您的服务器配备了多个 IP 地址,并且希望为某个进程指定具体的 IP 地址来访问网络,那么本教程很适合您。

简单的说,通过 iptables 就可以完成此目标。

假设您的服务器拥有这两个 IP 地址:1.1.1.1 和 2.2.2.2

首先,请为这两个 IP 地址分别创建用户。

adduser ip_1111  adduser ip_2222

然后,使用 iptables 来为这两个用户所创建的进程指定源 IP

iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner ip_1111 -j SNAT --to-source 1.1.1.1  iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner ip_2222 -j SNAT --to-source 2.2.2.2

最后,在启动进程时,请为这个进程指定配备了出口 IP 的用户。大部分的程序都可以使用参数来指定运行进程的用户名。不过您也可以手动指定,使用如下代码

#su ip_1111 -c "这里是要运行的命令"  #比如下面  su ip_2222 -c "wget www.baidu.com"