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里面。

 

时间: 2024-10-27 09:39:58

sockets+proxychains代理,使内网服务器可以访问外网的相关文章

ip隧道--实现阿里内网服务器可以访问外网~

有两台阿里的服务,一台A有分配外网ip,另外一台B没有,如何让B借助A实现上网? 处理方式如下 在A服务器 ip tunnel add i2o mode ipip remote B local A ---这里A.B均是内网地址 ifconfig i2o 192.168.2.1 netmask 255.255.255.0 在B服务器 ip tunnel add i2o mode ipip remote A local B ---这里A.B均是内网地址 ifconfig i2o 192.168.2.

连接上vpn后能访问公司内网,不能访问外网的问题,win10

公司给了vpn,这样周末有事的话,我在家里也能办公了,挺好的, 但是在连接后,却遇到了问题. 问题:vpn能连上了,可以访问公司的内网了,但是却不能访问外网,查了资料说,大多数都提到要将“在远程网络上使用默认网关”的复选框取消选择, 但是能访问外网了,公司内网又不能访问. 解决方法: 当前状态:连上vpn了,不能访问内网,能访问外网的状态 接着后面的步骤走就ok了 1.查看你连接vpn的 IPv4地址 命令: ipconfig /all 2.查看访问外网的 跃点数 第一行的最后一个数 命令: r

发布网站后只能在服务器上访问 外网访问不了??

以前发布网站,只要在服务器上可以访问成功,在外网机器上是没有问题的. 但是今天发布了一个网站,服务器上访问ok,但是在外网上就访问不了, 最后百度查了,说是要在防火墙中设置运行的端口. 当当当~ 真的是这个问题. 如何设置呢? 首先打开“我的面板”,找到防火墙,点开防火墙,如下图 找到“高级设置”,点击进去, 如下图 找到“入站规则”,点击进去, 点击右侧的“新建规则”, 如下图: 选择“端口” 点击下一步: 输入你刚才发布网站时输入的端口号,点击下一步 后面的大家应该都会了 在最后一步中,输入

linux设置好IP后,可以访问内网,不能访问外网

1,设置网卡,ip vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0 BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址 BROADCAST=192.168.0.255 #对应的子网广播地址 HWADDR=0

虚拟机上ping不通外网, 但是可以访问外网(如使用curl www.baidu.com能返回内容)

在虚拟机中输入 ping www.baidu.com, 可能出现如下几种报错 1.?ping: unknown host www.baidu.com? 2.PING www.a.shifen.com (183.232.231.172) 56(84) bytes of data. 以上两种都是?没有配置正确的DNS服务器 解决:? 在window上打开命令窗口, 输入 ipconfig /all? ? ? 找到你当前连接上网的地方, 因为我电脑是连接无线 ,所以在无线网络连接区域下 , 如果是连接

centos 中,启用了 firewalld 防火墙,docker 内的容器无法访问外网

首先记录几个对 linux 系统服务操作的命令(以下都是对防火墙服务进行操作): # 启动服务systemctl start firewalld # 设置服务自启动systemctl enable firewalld # 取消服务自启动systemctl disable firewalld # 停止服务systemctl stop firewalld # 查看服务状态systemctl status firewalld # 重启服务systemctl restart firewalld 另外如果

内网服务器通过Squid代理访问外网

环境说明 项目整体需部署Zabbix监控并配置微信报警,而Zabbix Server并不能访问外网,故运维小哥找了台能访问外网的服务器做Suqid代理,Zabbix Server服务器通过代理服务器访问外网. 操作说明 [[email protected] ~]# echo "1" >/proc/sys/net/ipv4/ip_forward [[email protected] ~]# yum -y install squid [[email protected] ~]# vi

2 微信开发本地代理环境的搭建--实现将内网ip映射到外网

微信公众号的开发,要搭建网站,并且随时都有可能修改网站内容进行调试,这就需要临时外网能返回本地开发环境搭建的项目进行测试,即内网映射到公网,但是好多开发者没有自己的域名和服务器,这里我们先来搭建一个本地代理环境把服务器地址变为外网能访问的地址: 这里,我对内网映射外网的方法进行了一下简单的总结: 1 ngrok映射工具(失效) 2 nodejs的localtunnel服务(虚拟域名,随机生成,总是变化,不方便) 3 www.tunnel.mobl(失效) 4 QQ浏览器微信调试工具(已下架) 5

外网nginx 代理(vpn)到 内网 配置,实现外网的访问内网 (亲测可以实现);

外网安装 vpn服务,内网接入vpn: 外网通过nginx 代理到内网(nginx): #外网nginx代理 server { listen 80; server_name *.test.xxxx.com; charset utf-8; location / { #root /var/www; #index index.jsp; proxy_pass http://10.0.0.2:80/; include proxy.conf; } } # 代理配置文件 proxy.conf proxy_re