内网服务器在有时需要下载文件,特别是安装依赖时, 操作十分复杂困难, 此文档为解决此问题
此文的思路是让你的window电脑同时能访问内公网,在window上装一个代理软件,让内网服务器代理访问公网
拓补图如下
一.配置window电脑同时访问内公网
一般情况下有线网卡只能访问内网, 无线网卡连接wifi只能访问公网,为了让电脑同时能百度,又能访问内网服务器,执行此操作
插入网线
1.查看有线网卡ip地址记录下来,将有线网卡设置为静态ip,设置为和自动获取的ip一样
连接wifi
2.无线网卡设为自动获取ip
3.win+s输入cmd管理员方式打开命令提示符设置路由
下面针对第三步作详细说明
3.1)执行命令先删除所有路由
route delete *
3.2)执行命令添加路由
实际上是指定要访问某个网段的ip地址,让数据往这个网卡发;即人为告知你要访问这个IP请往这走,这个网卡能走到目的地
因此你能想象指定内网简单呢还是指定外网简单?内网一般就几个网段,外网有几百个网段
而以下配置默认数据都是往无线网卡发送,所以指定内网路由就好了
比如内网有三个个网段172.10和172.240和10.15通过以下命令指定
route add 172.10.0.0 mask 255.255.0.0 172.10.110.1 -p
route add 172.240.0.0 mask 255.255.0.0 172.10.110.1 -p
route add 10.15.0.0 mask 255.255.0.0 172.10.110.1 -p
注意将上面这条更改为自己的, 需要更改ip段,掩码段和网关ip
以上命令中:
a.172.10.0.0 为要访问的ip段,如我要访问172.10.11.20,将后两位ip改为0即可,也可以将后一位改为0则为172.10.11.0,不过此时掩码也保留一个0
b.255.255.0.0为掩码段,和ip段保持一致,参见掩码计算方法
c.172.10.110.1为有线网卡网关
d.-p表示永久生效
e.该整体命令表示,要访问172.10开头的地址,并且掩码在255.255.0.0这个范围内的请求都走172.10.110.1这个网关
3.3)执行命令查看路由是否添加成功
route print
到此即可访问内公网,不行就重启电脑试试
二.window搭建代理服务器
参考文章:巧妙地把windows搭建成代理服务器
1.安装CCproxy 代理软件
下载地址为:http://www.ccproxy.com/,下载安装文件后,点击安装即可,然后点击桌面的图标【CCproxy 】即可运行软件。演示版其中可以提供免费的3个连接用户,也就是说同一个时间CCProxy只能有3个IP同时连接这代理服务器。如果数目超过3个,就需要购买该软件
三.配置centos内网服务器(需要访问公网的服务器)
参考文章:Linux/CentOS设置全局代理
1.单独代理
1.1针对yum配置走代理, 只让yum操作可以访问公网:
echo "proxy=http://172.10.110.247:808/" >> /etc/yum.conf
1.2 docker单独代理
该方法是持久化的,修改后会一直生效。该方法覆盖了默认的docker.service文件。
为docker服务创建一个内嵌的systemd目录
mkdir -p /etc/systemd/system/docker.service.d
创建/etc/systemd/system/docker.service.d/http-proxy.conf文件,并添加HTTP_PROXY环境变量。其中[proxy-addr]和[proxy-port]分别改成实际情况的代理地址和端口:
[Service]
Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/"
之前测试是可以的,最近按照这样配置却不行,做一点改动如下就可以了:
[Service]
Environment=HTTP_PROXY=http://[proxy-addr]:[proxy-port]/
Environment=HTTPS_PROXY=http://[proxy-addr]:[proxy-port]/
Environment=NO_PROXY=localhost,127.0.0.1
注意HTTPS_PROXY也指定为http
sudo systemctl daemon-reload
sudo systemctl restart docker
1.3 curl走代理
curl -x agent[ip:port] source[url] -o [path]
curl -x 172.10.110.247:808 https://tds-fdw.github.io/yum/tds_fdw.repo -o /etc/yum.repos.d/tds_fdw.repo
1.4 wget走代理
wget -e "https_proxy=http://172.10.110.247:808" http://www.subversion.org.cn/svnbook/1.4/
1.5 pip走代理
pip3 --proxy 172.10.110.247:808 install snowlp
这太麻烦了,编辑 ~/.bashrc 文件,或者如果你使用了zsh,那么就是 ~/.zshrc ,在文末添加
alias pip3="pip3 --proxy 172.10.110.247:808"
1.6 git 走代理
git config --global http.proxy http://172.10.110.247:808
git config --global https.proxy https://172.10.110.247:808
#含有用户名密码的代理
git config --global http.proxy http://username:password@172.10.110.247:808
#取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy
1.7 freshclam使用代理升级病毒库
vim /etc/freshclam.conf
HTTPProxyServer 172.10.110.247
HTTPProxyPort 808
这样,下次打开终端后就不用每次都输入这么长的代理选项了
2.全局代理
有时需要使用wget命令,pip命令,docker命令,单独设置太麻烦,需要设置全局代理
1)设置代理服务地址
export proxy="http://172.10.110.247:808"
2).导出代理,需要使用什么协议就导出什么
export http_proxy=$proxy
export https_proxy=$proxy
export ftp_proxy=$proxy
export no_proxy="localhost, 172.10.110.247, ::1"
3).而对于要取消设置可以使用如下命令,其实也就是取消环境变量的设置:
unset http_proxy
unset https_proxy
unset ftp_proxy
unset no_proxy
通过以上步骤, 内网centos服务器可以成功访问公网