为什么会有这个问题呢?是因为作为一名开发人员或是运维人员会遇到这样一种情况,公司经常会有一些不联网的内网服务器,工作中需要在这些服务器上部署一部分业务,但这部分业务呢,又需要联网下载一些依赖项目才能使用(离线部署又很麻烦),怎么破?
上面的阐述似乎有点绕,但一句话就是:怎么解决内网机器的网络访问问题?!
方法一
有人说那还不简单,找一根能联网的网线插上去,配置个IP地址,完事!这种情况也是最简单直接的方法,直击要害。如果有条件,可以这样操作,但通常是不允许的,或者你根本在机房中找不到能联网的网口。(记得操作完,把网线插回来)
方法二
如果你能接触到服务器,身边又没有可以联网的网线,那么可以使用下面的方法。准备好手机和手机数据连接线,将数据线一头接到服务器上,一头插到手机上。在手机上找到USB网络共享,并点击打开,这样在系统中就会多出一块临时网卡,就能利用手机的网络来联网更新了。
方法三
当然,既然能利用USB来联网,那就还能使用USB型WIFI接收适配器来联网了。
方法四
前三种方法能操作的前提是服务器在身旁,那要是不在身旁,又不能乱动IP地址,如何才能联网呢?这里还可以使用代理服务器,所谓代理服务器就是将原有服务器的请求交由代理服务器来进行二次转发,进而发送给远程服务器的一种工具。因此,服务器本身不能联网不要紧,只要代理服务器能上网,且能与服务器本身进行通讯即可。
这里的代理服务器除了要能与内网服务器通迅外,还要能与公共网络进行通迅,因此需要两块(虚拟)网卡,或使用网络交换设备配置不同段的两个IP地址。
代理服务器端操作
作为代理服务器,那必须有代理服务软件来支撑,由于是临时搭建用,这里我使用Windows系统来搭建。首先安装CCProxy软件,是一款收费软件,但在不购买的情况下能够使用3个用户在线使用,已经足够我们的使用。
在主界面中,点击设置按钮。勾选HTTP/RTSP和Secure,根据自己的情况还可以勾选其它的协议,主要为这两个。勾选完后,点击自动检测或者手动选择局域网IP地址,以保证局域网的其它电脑可以访问到它。
回到主界面点击启动,就正常开启了服务。(记得临时关闭代理服务器防火墙,或手动开放列表中的端口)
客户端操作
1.在windows操作系统下,搜索代理服务器,打开以下页面。输入代理服务器的网络和IP地址,点击保存,就能愉快的上网了。
2.在Linux操作系统下,执行以下两条命令,将下面的IP和端口改成你的代理服务器IP和端口,就是上网了。
export http_proxy= export https_proxy=
但每次重启机器就需要再执行一遍,可以将其加入到环境变量下面。
echo "export http_proxy=" >> /etc/profile echo "export https_proxy=" >> /etc/profile source /etc/profile
这样就行了。
另外再说一点,使用以上的方法,在使用Docker拉取镜像时,发现并不能正常拉取,原因是Docker还是走的系统默认的路径。因此,如果需要在线拉取Docker镜像时,还需要进行下面的配置。
mkdir -p /etc/systemd/system vim /etc/systemd/system/http-proxy.conf
添加以下内容:
[Service] Environment="HTTP_PROXY=/"
重启Docker
systemctl daemon-reload systemctl restart docker
验证:
systemctl show --property=Environment docker curl www.baidu.com
如果正常出现代理服务器的配置或能够访问baidu,可以任意拉取一个Docker镜像,则配置成功!