Linux · 2010-03-18

centos安装socks server 5

centos安装ss5代理并iptables指定出口IP

wget http://jaist.dl.sourceforge.net/sourceforge/ss5/ss5-3.6.1-1.tar.gz
tar zxvf ss5-3.6.1-1.tar.gz
cd ss5-3.6.1
./configure 
make
make install
cd /etc/opt/ss5/
cp ss5.conf ss5.conf.bak && cp ss5.passwd ss5.passwd.bak

关闭匿名代理,改为需要验证
auth    0.0.0.0/0               -               -
修改为
auth    0.0.0.0/0               -               u

启动ss5
service ss5 start

拿掉socks4
cd /usr/lib/ss5/
mv mod_socks4.so mod_socks4.so.bak

比较土的办法,写信问作者,千篇一律的回复
官方文档上route有5个选项,而配置文件里只有4项

1 ) 添加用户:
useradd user -s /bin/false -p pwd

2 ) 得到用户UID
awk -F: '/^user:/{print $1,$4}'  /etc/passwd

3 ) 定义iptables
iptables -t mangle -A OUTPUT -m owner --uid-owner USER_UID -j MARK --set-mark USER_UID
iptables -t nat -A POSTROUTING -m mark --mark USER_UID -j SNAT --to-source outgoing-IP

4 ) 已用户模式启动ss5,绑定iptables出口IP
ss5 -u user -b outgoing-IP:port

note: 编译报错就把这些装上去
yum -y install pam-devel autpmake make gcc openldap-devel.i386