虛擬機Centos7安裝Socks5作為代理服務器
1. 什么是代理服務器
代理服務器(Proxy Server)是一種重要的服務器安全功能,它的工作主要在開放系統互聯(OSI)模型的會話層,從而起到防火牆的作用。代理服務器大多被用來連接INTERNET(國際互聯網)和Local Area Network(局域網)。
代理也稱網絡代理,是一種特殊的網絡服務,允許一個網絡終端(一般為客戶端)通過這個服務與另一個網絡終端(一般為服務器)進行非直接的連接。一些網關、路由器等網絡設備具備網絡代理功能。代理服務有利於保障網絡終端的隱私或安全,防止攻擊。
常見代理:HTTP代理、socks代理、VPN代理、反向代理、其他代理(ftp代理、pop3代理)等。
2. socks5代理介紹
socks代理與其他類型的代理不同,它只是簡單地傳遞數據包,而並不關心是何種應用協議,既可以是HTTP請求,所以socks代理服務器比其他類型的代理服務器速度要快得多。
socks代理又分為socks4和socks5
二者不同的是socks4代理只支持TCP協議(即傳輸控制協議),而socks5代理則既支持TCP協議又支持UDP協議(即用戶數據包協議),還支持各種身份驗證機制、服務器端域名解析等。socks4能做到的socks5都可得到,但socks5能夠做到的socks4則不一定能做到,比如我們常用的聊天工具QQ在使用代理時就要求用socks5代理,因為它需要使用UDP協議來傳輸數據
socks5是一個代理協議,它在使用TCP/IP協議通訊的前端機器和服務器機器之間扮演一個中介角色,使得內部網中的前端機器變得能夠訪問Internet網中的服務器,或者使通訊更加安全。socks5服務器通過將前端發來的請求轉發給真正的目標服務器, 模擬了一個前端的行為。在這里,前端和socks5之間也是通過TCP/IP協議進行通訊,前端將原本要發送給真正服務器的請求發送給socks5服務器,然后socks5服務器將請求轉發給真正的服務器。
3. socks5代理服務的安裝配置
3.1 系統配置
操作系統:CentOS 64位
3.2 代理軟件
軟件版本:ss5-3.8.9-8.tar.gz
軟件地址:https://ncu.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
3.3 安裝步驟
3.3.1 安裝軟件依賴包
yum -y install gcc gcc-c++ automake make pam-devel openldap-devel cyrus-sasl-devel openssl-devel
3.3.2 解壓安裝socks5(中間會有warning,沒有事情)
tar zxvf ./ss5-3.8.9-8.tar.gz
cd ss5-3.8.9
./configure
make
make install
3.3.4 修改配置
vim /etc/opt/ss5/ss5.conf配置文件,去掉下面兩行的注釋
auth 0.0.0.0/0 - -
permit - 0.0.0.0/0 - 0.0.0.0/0 - - - -
這個是:如果需要設置訪問權限
# SHost SPort Authentication
auth 0.0.0.0/0 - u
# Auth SHost SPort DHost DPort FixupGroup Band ExpDate
permit u 0.0.0.0/0 - 0.0.0.0/0 - - - -
vim /etc/opt/ss5/ss5.passwd配置文件中添加用戶和密碼
#用戶名 密碼 中間是空格
user1 123
user2 123
3.3.5 修改ss5默認端口(這里我使用默認的)
ss5默認使用1080端口,並允許任何人使用,更改默認端口需要修改 vim /etc/sysconfig/ss5配置文件,添加如下信息
SS5_OPTS=" -u root -b x.x.x.x:1080"
3.3.6 啟動ss5
chmod a+x /etc/init.d/ss5 #權限提升否則會因為權限不夠而拒絕
/etc/init.d/ss5 start
3.3.7 添加開機啟動
chkconfig --add ss5
chkconfig ss5 on
4.端口開放
4.1 開放端口(后期測試,安裝等可以使用22端口)
firewall-cmd --zone=public --add-port=22/tcp --permanent #開放22端口
firewall-cmd --zone=public --remove-port=1080/tcp --permanent #關閉1080端口
firewall-cmd --reload # 配置立即生效
4.2 查看防火牆所有開放的端口
firewall-cmd --zone=public --list-ports
4.3 如果是阿里雲等服務器的話需要在安全策略組(控制台)開放相應的端口
5.測試(使用Proxy Server)
如果有獨立服務器(阿里雲等)這里的ip填寫自己的獨立ip