centos安装socks server 5

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

  1. wget http://jaist.dl.sourceforge.net/sourceforge/ss5/ss5-3.6.1-1.tar.gz
  2. tar zxvf ss5-3.6.1-1.tar.gz
  3. cd ss5-3.6.1
  4. ./configure 
  5. make
  6. make install
  7. cd /etc/opt/ss5/
  8. cp ss5.conf ss5.conf.bak && cp ss5.passwd ss5.passwd.bak
  9.  
  10. 关闭匿名代理,改为需要验证
  11. auth    0.0.0.0/0               -               -
  12. 修改为
  13. auth    0.0.0.0/0               -               u
  14.  
  15. 启动ss5
  16. service ss5 start
  17.  
  18. 拿掉socks4
  19. cd /usr/lib/ss5/
  20. mv mod_socks4.so mod_socks4.so.bak
  21.  
  22. 比较土的办法,写信问作者,千篇一律的回复
  23. 官方文档上route5个选项,而配置文件里只有4
  24.  
  25. 1 ) 添加用户:
  26. useradd user -s /bin/false -p pwd
  27.  
  28. 2 ) 得到用户UID
  29. awk -F: '/^user:/{print $1,$4}'  /etc/passwd
  30.  
  31. 3 ) 定义iptables
  32. iptables -t mangle -A OUTPUT -m owner --uid-owner USER_UID -j MARK --set-mark USER_UID
  33. iptables -t nat -A POSTROUTING -m mark --mark USER_UID -j SNAT --to-source outgoing-IP
  34.  
  35. 4 ) 已用户模式启动ss5,绑定iptables出口IP
  36. ss5 -u user -b outgoing-IP:port
  37.  
  38. note: 编译报错就把这些装上去
  39. yum -y install pam-devel autpmake make gcc openldap-devel.i386

10 Comments

  1. 我输入iptables -t mangle -A OUTPUT -m owner –uid-owner 500 -j MARK –set-mark 500
    结果是getsockopt failed strangely: No such file or directory
    再输入iptables -t nat -A POSTROUTING -m mark –mark 500 -j SNAT –to-source *.*.*.*
    显示iptables: Unknown error 4294967295

    • node NAT没有开

      • 谢谢博主,但我是小白加菜鸟。不懂啊

      • 请问怎么操作,我买的photonvps的OpenVZ VPS

        • 留下QQ或联系方式.

          • 我的小QQ:
            158718152.谢谢啦

  2. 我输入:“iptables -t mangle -A OUTPUT -m owner –uid-owner 500 -j MARK –set-mark 500”
    它说我输入的有问题,要我看iptables -h。 – -#

    • 那就man一下iptables,里面写得很详细了.OpenVZ是会这样没错

  3. 请问博主能弄个多IP的实际例子吗,3 ) 和4 ) 我看不懂呀。谢谢

  4. 您好,看见您这篇文章,对我帮助很大,有些地方不太明白

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

    -s /bin/false 是什么意思,这里添加了用户,ss5.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

    能给个实际列子吗,多ip,也这么添加吧

    感谢

    @ 客气,多IP的情况下也是这么做,或者在route选项里面指定,但里面定义的是组,而不是账号