最新消息:这里是最新消息

centos7多ip搭建socks5代理服务器

linux benty 1034浏览 0评论

最近学着使用代理服务,只有有了解过飞机啥的,也知道用tinyproxy,但是socks一直没有用过,后来知道安装ss5就可以使用了,安装方式很简单

yum install -y gcc openldap-devel pam-devel openssl-devel
wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
tar -vzx -f ss5-3.8.9-8.tar.gz
cd ss5-3.8.9/
./configure
make
make install
chmod a+x /etc/init.d/ss5
service ss5 restart

可以成功启动后,简单修改下配置文件,使其需要进行身份验证。如果提示vim不存在则可以使用vi编辑器,或使用“yum install -y vim”安装后再执行。

vim /etc/opt/ss5/ss5.conf

 

根据下图修改,找到对应行将“#”删除,同时在“auth”一行末尾Authentication列将“-”修改为“u”,“permit”一行中的Auth列修改“-”为“u”。修改完毕后保存。

  

 

修改完配置文件后先不要急着重启,我们去添加一下ss5的用户配置文件。我这里因为有两个IP所以配置了两个账号,每一行配置一个用户,格式:用户+空格+密码。

复制代码
vim /etc/opt/ss5/ss5.passwd

设置完毕后,尝试重启一下ss5服务。

复制代码
service ss5 restart

 

这里提示了“OK”,那么ss5服务的配置基本上是正确了,这里我使用了QQ自带的网络测试,测试了一下两个IP都是通的,如果这里测试没有问题,那么ss5的配置就可以告一段落了,如果提示“无法连接到代理服务器”则表示配置还是有问题,可以尝试重启ss5服务,检查防火墙是否拦截,selinux拦截,安全组未开放1080端口等情况。

配置iptables

配置完ss5服务后如果使用不同的IP,代理后结果还是显示主IP,这里需要根据用户去限制出口IP。首先添加用户,这里的用户和“/etc/opt/ss5/ss5.passwd”中添加的用户需要对应。添加完后查看用户对应的uid,下一步需要用到。

复制代码
useradd tom1 -p tom
useradd tom2 -p tom
id tom1
id tom2

 

可以看到用户的uid分别是1000和1002,然后我们对限制添加到iptables中。其中我标记红色的地方为对应的用户id,标注黄色底色的IP即为需要对应的出口IP。腾讯云中绑定的内网IP出去即为对应的公网IP,网卡中绑定的是腾讯云的内网IP,所以这里绑定了对应的内网IP(对应IP见第一张图),如果使用“ifconfig”查看到网卡绑定为公网IP则使用对应的公网IP。所以这里需要特别注意,根据自己情况替换对应的uid和出口IP,不能照搬。

注意如果是centos7的话默认是使用firewalld,需要禁用替换为iptables才可以使用,

centos7将firewalld换成iptables

关闭及停止使用 firewalld

systemctl mask firewalld

systemctl stop firewalld

安装iptables:

yum install -y iptables-services
生效及iptables开机启动:
systemctl enable iptables 
systemctl start iptables

  查看是否开机启动和状态:

systemctl list-unit-files|grep iptables

systemctl status iptables

具体可查看链接
#配置用户tom1
iptables -t mangle -A OUTPUT -m owner --uid-owner 1000 -j MARK --set-mark 1000
iptables -t nat -A POSTROUTING -m mark --mark 1000 -j SNAT --to-source 172.17.0.8

#配置用户tom2
iptables -t mangle -A OUTPUT -m owner --uid-owner 1001 -j MARK --set-mark 1001
iptables -t nat -A POSTROUTING -m mark --mark 1001 -j SNAT --to-source 172.17.0.17

 

 

设置完后,查看一下配置是否已经写入,我这里红色方框处的即为刚才的配置。

复制代码
iptables -nvL -t nat
iptables -nvL -t mangle

 

 

配置好iptables后需要再对ss5添加一下对应的用户,设置对应用户和出口IP,请务必与上方iptables中对应uid和ip处保持一致。启动成功则配置完毕。

复制代码
service ss5 stop #由于服务启动无法写入,这里需要关闭
ss5 -u tom1 -b 172.17.0.8:10327
ss5 -u tom2 -b 172.17.0.17:10328
service ss5 start #关闭后再次启动

 

============

其他教程链接

安装 SS5 SOCKS5 代理服务器,多进程/多IP地址出口/多端口

=======
查看端口 netstat -anp | grep 10326
没有netstat 安装yum -y install net-tools
查看ss5状态  service ss5 status
电脑重启后的常用操作应该是,先重启ss5,然后
ss5 -u root -b 0.0.0.0:10326
ss5 -u vpn02 -b xxx:10327
ss5 -u vpn03 -b xxx:10328
运行一遍就可以,注意/var/run/ss5目录权限问题

=====

迁移新镜像的问题,首先更改静态ip配置,然后将firewalld换成iptables服务,然后修改iptables需要先删除之前镜像的nat记录

iptables -nvL -t nat –line–number查看编号

iptables -t nat -D POSTROUSTING 1删除第一条记录,执行两遍,

之后按照上面的教程重新添加nat的记录添加两个对应附加ip就可以

 

 

 

 

 

 

 

 

 

 

 

转载请注明:稻香的博客 » centos7多ip搭建socks5代理服务器

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址