如何使用代理````怎么设置````详细哦````谢咯``
这里讲解用ADSL共享两台以上电脑上网的步骤,其实就是装个代理软件:
准备:Sygaet的代理软件,可以网上下载。
在其中一台电脑装上Sygaet这个软件,另一台机是不用装的呀!装好后在这个软件的配置中只要选上:1、从不挂断
2、以太网(有下拉选项的呀)在下拉先项中选NTS PPOE ADapter
3、手动选择(有下拉选项的呀)在下拉先项中选一块网卡(这块网卡是选你装软件的这台与另一台相连的哪块网卡)(有一点提示:在你装SYGAET这个软件的这台电脑的两块网卡最好是不同牌子的,因为容易识上面的选项)。
4、选上自动开始Internet共享服务。
第一、 服务器的设置:在服务器和客户机上安装Windows98操作系统,在网络属性框中添加TCP/IP协议,设置服务器网卡(RTL8029AS)的IP地址为:19216801,子网掩码(Netmask):2552552550。并添加网络文件和打印机共享属性,其余的协议如IPX/SPX可以视具体情况而定,如果要上网BattleNet玩星际争霸这类游戏,就要添加上。然后安装Sygate40代理服务器软件,其中要选择为Server模式,而不要设为Client模式,注册该软件要注意的是有几种序列号:3clients、6cilents、unlimited clients。最好用unlimited clients(不限制客户机的台数)的号码注册。
第二、 客户机的设置:服务器设置好之后,再设置每一台客户机(Client)的网络协议,同样也要添加TCP/IP和NetBeui协议。TCP/IP协议的属性设为:IP:1921680X(X从2~255,视网络中客户机的台数而定,X从2开始,第二台为3,…依次类推),子网掩码设为:2552552550,并且将网关添加为:19216801(指向服务器的IP地址);DNS(动态域名服务器)中主机为X(同上),DNS服务器添加为19216801。设置完每一台客户机(Client)之后,重新启动计算机。
第三、 检测网络的工作情况:打开局域网中所有的计算机,在MS-DOS方式中用 PING命令进行检测,在服务器上输入:ping 1921680X(X:1~255),如果显示reply from 1921680X,则表示局域网中的计算机连通,并且TCP/IP协议已经生效。
如果显示的是request from , 则表明设置有问题。解决的方法就是先检查一下局域网中的连线是否有问题。
注:在这里补充一点的是,如果你要用Sygate实现多机共享一个ADSL帐号上网,建议最好使用Sygate40以上的版本,因为40以上版本加强了对ADSL的支持。
同时安装Sygate等代理服务器软件前要先确保局域网内的各台电脑能够成功用TCP/IP协议通讯,请注意务必要用TCP/IP协议,并正确分配IP地址,如果你不懂得如何分配IP地址,建议连接局域网的网卡分配以1921680X开头的地址(其中X是1到254的范围,只要各台电脑的X值在这个范围以内并且不重复即可),子网掩码请设为:2552552550 请注意这是连接局域网网卡的IP地址,如果你装了两块网卡,另一块连接ADSL MODEM的网卡是不需要设置IP地址的,自动分配即可,连接ADSL网卡的TCP/IP协议最好启用DNS,广州用户的DNS可设为:2029612868 ,注意电脑有两块网卡的情况,两块网卡的TCP/IP设置并不一样。有时能在网上邻居看到对方并不表示你已经能用TCP/IP协议连通,因为其它协议如:NETBEUI、IPX/SPX等安装后也可以在网上邻居中看到对方的电脑,但这并不代表TCP/IP已经能正常运作。验证能否用TCP/IP协议成功通讯的方法是用PING命令检查,另外也可以用Wingate实现多机共享一个帐号上网,但是考虑到wingate的安装设置相对较Sygate烦杂些,所以这里就推荐各位用Sygate,Wingate的使用介绍将争取尽快完成。软件硬件问题都解决了,相信大家也就能实现多机共享上网了,快试试吧,祝你成功!
代理服务器(Proxy Server)是个人网络和Internet服务商之间的中间代理机构,它负责转发合法的网络信息,对转发进行控制和登记。
代理服务器作为连接Internet(广域网)与Intranet(局域网)的桥梁,在实际应用中发挥着极其重要的作用。
Linux下有很多程序都只有命令行接口,对于这类程序,它们通过代理服务器(proxy)访问网络的方式也不尽相同。
本文总结了一些常用Windows/Linux程序配置代理服务器的方法。
对于大多数Linux控制台程序,例如 Debian 或Ubuntu中的apt-get和aptitude命令、 git命令 、wget命令,这些程序都使用http_proxy和ftp_proxy环境变量来获取代理服务的配置。
# export http_proxy="http://username:password@proxyServer:port/"
# export https_proxy="http://username:password@proxyServer:port/"
# export ftp_proxy="http://username:password@proxyServer:port/"
# export no_proxy="127001,1921681240/16,examplecom"
如果你的代理服务器需要用户名和密码才能访问,需要填写上面的username和passwd部分,否则的话,省略这两部分。
proxyServer为代理服务器的域名(如果能解析)或者IP。
no_proxy 设置你明确不需要走代理的IP 域名 网段之类,用逗号隔开,如网络要求访问外网走代理,访问内网无需走代理的情况。
# export http_proxy="http://proxyServer:port/"
# export https_proxy="http:/proxyServer:port/"
# export ftp_proxy="http://proxyServer:port/"
将代理设置添加到环境文件
# cat >> /etc/profile << EOF
export http_proxy="http://username:password@proxyServer:port/"
export https_proxy="http://username:password@proxyServer:port/"
export ftp_proxy="http://username:password@proxyServer:port/"
export no_proxy="127001,1921681240/16,examplecom"
EOF
# source /etc/profile
# unset http_proxy
# unset https_proxy
# unset ftp_proxy
# unset no_proxy
set http_proxy="http://username:password@proxyServer:port/"
set https_proxy="http://username:password@proxyServer:port/"
set ftp_proxy="http://username:password@proxyServer:port/"
set no_proxy="127001,1921681240/16,examplecom"
谷歌浏览器访问:chrome://settings/
其他浏览器代理设置,大同小异,无需赘言了!
因为某些原因,国内网络访问 Docker Hub 拉取官方 Docker 镜像时经常超时。怎么解决呢?可以使用 HTTP 代理来加速访问。
国内稍具规模的中大型技术公司应该有正常访问国外网站的代理服务器。
# mkdir -p /etc/systemd/system/dockerserviced
# vim /etc/systemd/system/dockerserviced/http-proxyconf
###############################################################
[Service]
Environment="HTTP_PROXY=http://username:password@proxyServer:port/"
Environment="HTTPS_PROXY=http://username:password@proxyServer:port/"
Environment="NO_PROXY=localhost,127001"
###############################################################
# systemctl daemon-reload
# systemctl restart docker
# docker info | grep -i proxy
# docker build --help
# docker build \
--build-arg http_proxy="http://username:password@proxyServer:port/" \
--build-arg https_proxy="http://username:password@proxyServer:port/" \
-f Dockerfile \
-t sonatype/nexus3:352
Linux下代理服务器(proxy)配置
https://wwwcnblogscom/klb561/p/9175583html
docker代理配置
https://blogfrognewcom/2017/01/docker-http-proxyhtml
Control Docker with systemd
https://docsdockercom/config/daemon/systemd/#httphttps-proxy
代理服务器(Proxy Server)是网上提供转接功能的服务器,在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器把信息传送回来。下面就由我跟大家分享使用代理服务器上网的方法吧,欢迎大家来阅读学习。
使用代理服务器上网的方法
HTTP代理服务器的设置方法,对于IE和FireFox设置略有不同。设置前需要先找一些可用的免费代理服务器地址。
IE的设置是这样的,打开IE浏览器,选择菜单栏的“工具/Internet选项”。
这时候分两种情况,对于ADSL拨号用户来说,选择一个网络连接后,点“设置”,如下图所示,选中代理服务器,填入地址和端口号。
对于局域网用户来说,需要点“局域网设置”,如下图所示,选中代理服务器,填入地址和端口号。
FireFox的设置和IE类似,打开FireFox浏览器,选择菜单栏的“工具/选项”。
这时选择“高级/网络”,点设置,就出现下面的界面,就可以进行代理服务器的设置了,选中“手动配置代理”,然后填写代理服务器的地址和端口。
如何使用SOCKS代理服务器
这里就到重点内容了,SOCKS代理是目前功能最为全面,使用最为稳定的代理服务器,我目前上网就只用SSH搭建SOCKS代理服务器上网,访问网络没有任何限制。下面我就着重讲一下如何使用SOCKS代理服务器。
用SSH搭建SOCKS代理上网,建议使用Firefox浏览器,因为Firefox支持SOCKS代理远程域名解析,而IE只能通过类似SocksCap这样的第三方软件实现,不是很方便。
配置Firefox浏览器
在Firefox设置SOCKS远程域名解析,主要是为了防止DNS污染,具体设置方法是,在Firefox地址栏中,输入 about:config ,按确认,修改里面的一项数值,改成 networkproxysocks_remote_dns=true 就可以了。
然后,打开FireFox浏览器,选择菜单栏的“工具/选项”。选择“高级/网络”,点设置,就出现下面的界面,就可以进行代理服务器的设置了,选中“手动配置代理”,然后在SOCKS主机上,填写代理服务器的地址127001,端口1080,SOCKS类型选择“SOCKS V5”,这时Firefox就配置结束。
设置SSH
配置好了Firefox,就该配置SSH了,安全外壳协议(Secure Shell Protocol / SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。常用的SSH工具有开源软件PuTTY,支持SSH远程登录的主机可以实现socks5代理服务器的功能,不过在PuTTY中没有配置文件,需要手动设置才能实现,且无法保存,而PuTTY完整版自带的pLink可以实现命令行方式调用PuTTY实现SSH的加密通道。
具体的方法是,去PuTTY官方网站下载pLink这个文件,pLink的调用参数是:plink -C -v -N -pw 密码 -D 本地端口 远程用户@IP或域名:远程希望打开的端口。
新建一个文件,写入以下内容,另存为pLinkbat批处理文件,并放在Putty的安装目录内。
@plink -N Username@sshServer -pw Password -D 127001:1080
请将Username sshServer Password三处改为用户自己登陆SSH服务器的用户名、服务器地址和密码。这个SSH帐号可以通过多种方法获得,例如用户购买了某些国外主机空间或VPS就会有SSH帐号,或者在淘宝网也有SSH帐号出售,我自用的SSH帐号是用每年100美元购买虚拟主机时赠送的,通常SSH帐号的价格大约是每年几十元人民币左右,也有少量国外网站提供免费的SSH帐号。
执行这个批处理文件,保持其窗口开启,一旦关闭窗口代理便失效。然后打开已经配置好127001:1080的Socks5代理的Firefox浏览器,就可以使用SOCKS代理服务器上网了。
其他设置技巧
为了方便代理服务器的快速切换,我推荐两个FireFox代理服务器扩展,一个是QuickProxy,可以实现一键切换代理功能,QuickProxy安装后在状态栏有一个按钮,点击后可以启用、关闭Firefox浏览器的默认代理设置,可以快速在代理和非代理之间切换,很方便。界面如下图所示。另一个是AutoProxy,通过一份无法访问的域名列表目录,实现自动在代理和非代理之间切换,该域名列表目录由志愿者手动维护。AutoProxy还可实现自定义您自己的代理规则;订阅规则列表;自定义代理服务器等功能。使用AutoProxy的时候需要注意,点“代理服务器-编辑代理服务器”,将ssh -D的端口由7070修改为1080,点“代理服务器-选择代理服务器”,将ssh -D设置为默认。
win7系统代理服务器设置的方法,可要通过以下步骤操作来实现:
1、在win7操作系统桌面上,点击IE浏览器图标进入。
2、进入IE浏览器主界面,点击工具菜单选择Internet选项进入。
3、切换至连接页签,点击局域网设置按扭进入。
4、在弹出的局域网(LAN)设置对话框,勾选为LAN使用代理服务器点击高级按钮进入。
5、最后填写相关代理服务器信息即可。
初看OkHttp源码,由于对Address、Route、Proxy、ProxySelector、RouteSelector等理解不够,读源码非常吃力,看了几遍依然对于寻找复用连接、创建连接、连接服务器、连接代理服务器、创建隧道连接等逻辑似懂非懂,本篇决定梳理一遍相关的概念及基本原理。
● HTTP/11(HTTPS)
● HTTP/2
● SPDY
一个http请求的流程(直连):
1、输入url及参数;
2、如果是url是域名则解析ip地址,可能对应多个ip,如果没有指定端口,则用默认端口,http请求用80;
3、创建socket,根据ip和端口连接服务器(socket内部会完成3次TCP握手);
4、socket成功连接后,发送http报文数据。
一个https请求的流程(直连):
1、输入url及参数;
2、如果是url是域名则解析ip地址,可能对应多个ip,如果没有指定端口,则用默认端口,https请求用443;
3、创建socket,根据ip和端口连接服务器(socket内部会完成3次TCP握手);
4、socket成功连接后进行TLS握手,可通过java标准款提供的SSLSocket完成;
5、握手成功后,发送https报文数据。
1、分类
● HTTP代理:普通代理、隧道代理
● SOCKS代理:SOCKS4、SOCKS5
2、HTTP代理分类及说明
普通代理
HTTP/11 协议的第一部分。其代理过程为:
● client 请求 proxy
● proxy 解析请求获取 origin server 地址
● proxy 向 origin server 转发请求
● proxy 接收 origin server 的响应
● proxy 向 client 转发响应
其中proxy获取目的服务器地址的标准方法是解析 request line 里的 request-URL。因为proxy需要解析报文,因此普通代理无法适用于https,因为报文都是加密的。
隧道代理
通过 Web 代理服务器用隧道方式传输基于 TCP 的协议。
请求包括两个阶段,一是连接(隧道)建立阶段,二是数据通信(请求响应)阶段,数据通信是基于 TCP packet ,代理服务器不会对请求及响应的报文作任何的处理,都是原封不动的转发,因此可以代理 HTTPS请求和响应。
代理过程为:
● client 向 proxy 发送 CONNET 请求(包含了 origin server 的地址)
● proxy 与 origin server 建立 TCP 连接
● proxy 向 client 发送响应
● client 向 proxy 发送请求,proxy 原封不动向 origin server 转发请求,请求数据不做任何封装,为原生 TCP packet
3、SOCKS代理分类及说明
● SOCKS4:只支持TCP协议(即传输控制协议)
● SOCKS5: 既支持TCP协议又支持UDP协议(即用户数据包协议),还支持各种身份验证机制、服务器端域名解析等。
SOCK4能做到的SOCKS5都可得到,但反过来却不行,比如我们常用的聊天工具QQ在使用代理时就要求用SOCKS5代理,因为它需要使用UDP协议来传输数据。
有了上面的基础知识,下面分析结合源码分析OkHttp路由相关的逻辑。OkHttp用Address来描述与目标服务器建立连接的配置信息,但请求输入的可能是域名,一个域名可能对于多个ip,真正建立连接是其中一个ip,另外,如果设置了代理,客户端是与代理服务器建立直接连接,而不是目标服务器,代理又可能是域名,可能对应多个ip。因此,这里用Route来描述最终选择的路由,即客户端与哪个ip建立连接,是代理还是直连。下面对比下Address及Route的属性,及路由选择器RouteSelector。
描述与目标服务器建立连接所需要的配置信息,包括目标主机名、端口、dns,SocketFactory,如果是https请求,包括TLS相关的SSLSocketFactory 、HostnameVerifier 、CertificatePinner,代理服务器信息Proxy 、ProxySelector 。
Route提供了真正连接服务器所需要的动态信息,明确需要连接的服务器IP地址及代理服务器,一个Address可能会有很多个路由Route供选择(一个DNS对应对个IP)。
Address和Route都是数据对象,没有提供操作方法,OkHttp另外定义了RouteSelector来完成选择的路由的操作。
1、读取代理配置信息:resetNextProxy()
读取代理配置:
● 如果有指定代理(不读取系统配置,在OkHttpClient实例中指定),则只用1个该指定代理;
● 如果没有指定,则读取系统配置的,可能有多个。
2、获取需要尝试的socket地址(目标服务器或者代理服务器):resetNextInetSocketAddress()
结合Address的host和代理,解析要尝试的套接字地址(ip+端口)列表:
● 直连或者SOCK代理, 则用目标服务器的主机名和端口,如果是HTTP代理,则用代理服务器的主机名和端口;
● 如果是SOCK代理,根据目标服务器主机名和端口号创建未解析的套接字地址,列表只有1个地址;
● 如果是直连或HTTP代理,先DNS解析,得到InetAddress列表(没有端口),再创建InetSocketAddress列表(带上端口),InetSocketAddress与InetAddress的区别是前者带端口信息。
3、获取路由列表:next()
选择路由的流程解析:
● 遍历每个代理对象,可能多个,直连的代理对象为ProxyDIRECT(实际是没有中间代理的);
● 对每个代理获取套接字地址列表;
● 遍历地址列表,创建Route,判断Route如果在路由黑名单中,则添加到失败路由列表,不在黑名单中则添加到待返回的Route列表;
● 如果最后待返回的Route列表为空,即可能所有路由都在黑名单中,实在没有新路由了,则将失败的路由集合返回;
● 传入Route列表创建Selection对象,对象比较简单,就是一个目标路由集合,及读取方法。
为了避免不必要的尝试,OkHttp会把连接失败的路由加入到黑名单中,由RouteDatabase管理,该类比较简单,就是一个失败路由集合。
1、创建Address
Address的创建在RetryAndFollowUpInteceptor里,每次请求会声明一个新的Address及StreamAllocation对象,而StreamAllocation使用Address创建RouteSelector对象,在连接时RouteSelector确定请求的路由。
每个Requst都会构造一个Address对象,构造好了Address对象只是有了与服务器连接的配置信息,但没有确定最终服务器的ip,也没有确定连接的路由。
2、创建RouteSelector
在StreamAllocation声明的同时会声明路由选择器RouteSelector,为一次请求寻找路由。
3、选择可用的路由Route
下面在测试过程跟踪实例对象来理解,分别测试直连和HTTP代理HTTP2请求路由的选择过程:
● 直连请求流程
● HTTP代理HTTPS流程
请求url: https://wwwjianshucom/p/63ba15d8877a
1、构造address对象
2、读取代理配置:resetNextProxy
3、解析目标服务器套接字地址:resetNextInetSocketAddress
4、选择Route创建RealConnection
5、确定协议
测试方法:
● 在PC端打开Charles,设置端口,如何设置代理,网上有教程,比较简单;
● 手机打开WIFI,选择连接的WIFI修改网络,在高级选项中设置中指定了代理服务器,ip为PC的ip,端口是Charles刚设置的端口;
● OkHttpClient不指定代理,发起请求。
1、构造address对象
2、读取代理配置:resetNextProxy
3、解析目标服务器套接字地址:resetNextInetSocketAddress
4、选择Route创建RealConnection
5、创建隧道
由于是代理https请求,需要用到隧道代理。
从图可以看出,建立隧道其实是发送CONNECT请求,header包括字段Proxy-Connection,目标主机名,请求内容类似:
6、确定协议,SSL握手
1、代理可分为HTTP代理和SOCK代理;
2、HTTP代理又分为普通代理和隧道代理;普通代理适合明文传输,即http请求;隧道代理仅转发TCP包,适合加密传输,即https/http2;
3、SOCK代理又分为SOCK4和SOCK5,区别是后者支持UDP传输,适合代理聊天工具如QQ;
4、没有设置代理(OkHttpClient没有指定同时系统也没有设置),客户端直接与目标服务器建立TCP连接;
5、设置了代理,代理http请求时,客户端与代理服务器建立TCP连接,如果代理服务器是域名,则解释代理服务器域名,而目标服务器的域名由代理服务器解析;
6、设置了代理,代理https/http2请求时,客户端与代理服务器建立TCP连接,发送CONNECT请求与代理服务器建立隧道,并进行SSL握手,代理服务器不解析数据,仅转发TCP数据包。
如何正确使用 HTTP proxy
OkHttp3中的代理与路由
HTTP 代理原理及实现(一)
0条评论