目的

通过在 windows 侧设置 cntlm 代理,使得 linux 服务器可以访问外网。

一、windows 侧操作

1、下载安装 cntlm 文件,安装压缩包见附件,建议安装在默认路径。

2、打开安装目录下的配置文件 cntlm.ini 修改配置,需要修改的地方如下:

Username	s00******
Domain		china
#Password	password
Proxy		proxy.******.com:8080
Gateway	yes

说明:

1)Username 填自己的域账号,Domain 填 china,Password 可不填,注释掉即可。

2)Proxy格式 <proxy_ip>:<proxy_port>,proxy_ip 是 proxyhk.******.com 对应的 IP 地址,proxy_port 是 8080,也可以直接写 proxyhk.******.com:8080。

3)Gateway 这一行前面的注释要去掉,否则无法在别的机器上通过代理访问大网。

3、打开cmd,切换到安装目录 C:\Program Files (x86)\Cntlm 下,输入命令 cntlm.exe -H,再输入域账户对应的密码,如下所示:

C:\Program Files (x86)\Cntlm>cntlm.exe -H
      0 [main] cntlm 7900 find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer.  Please report this problem to
the public mailing list cygwin@cygwin.com
cygwin warning:
  MS-DOS style path detected: C:\Program Files (x86)\Cntlm\cntlm.ini
  Preferred POSIX equivalent is: /Cntlm/cntlm.ini
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Password:
PassLM          697F0524734******2924B00E6E
PassNT          3145356B342******810325E890
PassNTLMv2      351D03AAF39******0D639306EC6E7D    # Only for user 's00******', domain 'china'

C:\Program Files (x86)\Cntlm>

将得到的 PassLM 和 PassNT 复制粘贴到配置文件 cntlm.ini 中对应位置,PassNTLMv2不需要,可注释掉也可以不填。

4、取消 Auth 前的注释,并将 LM 修改为 NTLM,这一点尤为重要!因为我司代理服务器采用 NTLM 认证,但好多帖子完全没有提到这个,这也是我试了好多遍都不成功的原因。

5、在开始菜单中重启 cntlm 服务,以管理员身份运行,先 stop 再 start。

Cntlm->Stop Cntlm Autentication Proxy

Cntlm->Start Cntlm Autentication Proxy

二、虚拟机侧操作

1、输入命令 vim /root/.bashrc,打开设置全局代理的文件,在文件末尾添加:

export http_proxy="http://50.64.188.62:3128"
export https_proxy=${http_proxy}
export ftp_proxy=${http_proxy}

上面的 50.64.188.62 是本机的 ip 地址。

如果需要取消代理:

unset http_proxy
unset https_proxy
unset ftp_proxy

2、输入命令 source /root/.bashrc 使修改生效。

3、至此,代理配置完毕。输入 wget www.baidu.com 测试是否成功。

4、如果需要在服务器上拉取外网的 docker 镜像,除了上面的动作之外,还需要修改 docker.service 的配置:

文件地址:/usr/lib/systemd/system/docker.service

修改方式:

[Service]
Environment=https_proxy=http://50.64.188.62:3128
Environment=http_proxy=http://50.64.188.62:3128

修改完成之后重启 docker 服务(systemctl daemon-reload && systemctl restart docker)

posted on 2023-07-13 19:43  彦承  阅读(588)  评论(0编辑  收藏  举报