sockets+proxychains代理,使內網服務器可以訪問外網


Socks5+proxychains做正向代理

1、         應用場景:

有一台能上外網的機子,內網機子都不能連外網,需求是內網機子程序需要訪問外網,做正向代理。

2、         軟件

Server端:

 

 

  Client端:

   

 

 

3SOCKS5 是一個代理協議,它在使用TCP/IP協議通訊的前端機器和服務器機器之間扮演一個中介角色,使得內部網中的前端機器變得能夠訪問Internet網中的服務器,或者使通訊更加安全。SOCKS5 服務器通過將前端發來的請求轉發給真正的目標服務器, 模擬了一個前端的行為。在這里,前端和SOCKS5之間也是通過TCP/IP協議進行通訊,前端將原本要發送給真正服務器的請求發送給SOCKS5服務器,然后SOCKS5服務器將請求轉發給真正的服務器。

可以代理任何tcp的請求。

 

安裝socks5

找一個能上外網的服務器,安裝socks5.

1、              配置編譯環境:
yum -y install gcc automake make

2、              安裝socks5必要的包
yum -y install pam-devel openldap-devel cyrus-sasl-devel

3、              下載,編譯安裝socks5
wget http://vpszn.net/soft/ss5-3.8.9-8.tar.gz
tar zxvf ss5-3.8.9-8.tar.gz
cd ss5-3.8.9-8
./configure
make
make install
 4、啟動ss5服務。

chmod +x /etc/init.d/ss5
/etc/init.d/ss5 start
 5、開機啟動ss5服務。
chkconfig –add ss5

chkconfig ss5 on
 6、默認使用1080端口,並允許任何人使用。
我們可以修改ss5的配置文件 /etc/opt/ss5/ss5.conf,進行用戶認證:

vim /etc/opt/ss5/ss5.conf

1、#auth    0.0.0.0/0               -               -

改為:

auth    0.0.0.0/0               -               u    ---u指驗證用戶名和密碼

2、# permit -    11.1.1.0/24      -        0.0.0.0/0 -        -        -        -        -       

改為

permit u     0.0.0.0/0 -        0.0.0.0/0 -        -        -        -        -       

可以限制網段、帶寬、高可用等,具體配置按實際環境來配置


cd /etc/opt/ss5

然后在 /etc/opt/ss5/ss5.passwd 中添加用戶名和密碼 如:
test    123

重啟ss5服務,以使修改生效:
/etc/init.d/ss5 restart
 7、修改默認的端口:
vi /etc/rc.d/init.d/ss5

daemon /usr/sbin/ss5 -m -t -b IP:8833

else
/usr/local/sbin/ss5 -m -t -b IP:8833
/etc/rc.d/init.d/ss5 start
 8、默認支持S4匿名可以使用取消S4,
mv /usr/lib/ss5/mod_socks4.so /usr/lib/ss5/mod_socks4.so.bk
 9、查看日志:
more /var/log/ss5/ss5.log

4、         客戶端安裝proxychains

5、         proxychains有四條鏈,每條鏈一種配置,我這里采用 strict_chain模式--嚴格按照代理列表順序使用代理,所有代理必須可用,具體說明,請見鏈接地址https://www.52os.net/articles/proxychains-ng-redirect-tcp-to-proxy.html

 

git clone https://github.com/rofl0r/proxychains-ng.git

cd proxychains-ng

./configure

(sudo) make && make install

cp ./src/proxychains.conf /etc/proxychains.conf

cd .. && rm -rf proxychains-ng

vim /etc/proxychains.conf
推薦配置
strict_chain
proxy_dns 
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
localnet 127.0.0.0/255.0.0.0
quiet_mode
 
[ProxyList]
socks5  127.0.0.1 1080   nali   123     
 
默認使用必須在命令前面加上proxychains4:
例如(不要使用ping測試,ping不生效)
# proxychains4  curl  www.baidu.com
 
這樣很不方便,比如運行tomcat等需要訪問外網的程序,可以使用全局代理:
#proxychains4  -q  /bin/bash
然后在執行相應的啟動命令。就會有訪問外網的權限。
然后可以輸入exit命令退回到原來的bash里面。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM