Rootop 服务器运维与web架构

配置不同用户主动访问外网的源ip

程序需要从对方接口获取大量数据,但是对方有ip访问速率限制,所以需要启动多个进程去拉取数据,同时将不同进程访问外网的源ip设置为不同地址。
服务器上有3个ip,需要分别从3个ip去主动访问接口。

这里通过iptables中的mangle表,对不同的用户数据包打标记的功能实现。
首先添加2个用户,user1、user2,通过/etc/passwd查看用户的uid。

用户  - uid
user1 - 10002
user2 - 10003

 

# 对 user1 的包打1002的标记,和uid一致即可。方便区分。
iptables -t mangle -A OUTPUT -m owner --uid-owner 1002 -j MARK --set-mark 1002
iptables -t nat -A POSTROUTING -m mark --mark 1002 -j SNAT --to-source 103.x.x.227

# 对 user2 的包打10003的标记
iptables -t mangle -A OUTPUT -m owner --uid-owner 1003 -j MARK --set-mark 1003
iptables -t nat -A POSTROUTING -m mark --mark 1003 -j SNAT --to-source 103.x.x.252

这样当用不同的账号去运行程序,源ip就会不同。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/5386.html

作者:Venus

服务器运维与性能优化

评论已关闭。