
# 当源端无法通过公网访问华为云时，如何通过配置代理服务器访问华为云？
#### 操作场景
在主机迁移服务中，源端服务器与主机迁移服务之间的命令交互是通过公网传输的，当源端无法通过公网访问华为云时，您可以通过自行配置代理服务器访问华为云。
![](https://support.huaweicloud.com/sms_faq/public_sys-resources/notice_3.0-zh-cn.png)
本文中出现的IP地址和端口，仅用来举例。您在操作时，请使用实际环境中的IP地址和端口。
#### 准备工作
- 代理服务器
  ![](https://support.huaweicloud.com/sms_faq/public_sys-resources/note_3.0-zh-cn.png)
  代理服务器和源端服务器之间必须能够内网互通。
  
- 代理软件工具：squid
 
#### 步骤一：配置代理服务器
- **安装并配置Linux版squid工具** 。
  1. 在代理服务器，执行如下命令，安装squid软件。
     ```
     yum -y install squid
     ```
     
  
  2. 执行如下命令，备份squid配置文件。
     ```
     cp -a /etc/squid/squid.conf /etc/squid/squid.conf.bak
     ```
     
  
  3. 使用文本编辑器，修改squid.conf配置文件后保存。
     ```
     vi /etc/squid/squid.conf
     ```
     1. 将源端服务器所在网段标记为squid本地网络。192.168.0.0/16 请根据实际情况替换为访问代理服务器的服务器内网IP（一般设置为源端服务器内网网段。也可以设置为0.0.0.0/0以允许所有服务器访问代理）。
        ```
        acl localnet src 192.168.0.0/16
        ```
        ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002183498001.png "点击放大")
        
     
     2. 新增以下四项配置。
        ```
        cache_mem 64 MB
        maximum_object_size 4 MB
        cache_dir ufs /var/spool/squid 100 16 256
        access_log /var/log/squid/access.log
        ```
        
     
     3. （可选）配置文件中的http_port参数值为squid指定的端口，默认为3128，也可以根据实际情况进行修改。
      
  
  4. 启动squid。
     ```
     systemctl start squid
     ```
     
  
  5. 查看squid运行状态。
     ```
     systemctl status squid
     ```
     
  
  6. （可选）设置squid为开机自启动。
     ```
     systemctl enable squid
     ```
     
   
- **安装并配置Windows版squid工具** 。
  1. 在代理服务器下载Windows版的squid，下载地址为：https://squid.diladele.com，请选择Console APP安装程序下载并安装。 ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002148042022.png "点击放大")
     
  
  2. 安装完成后，进入Squid安装目录，找到etc/squid文件夹下的squid.conf配置文件进行修改。
     1. 将源端服务器所在网段标记为squid本地网络。192.168.0.0/16 请根据实际情况替换为访问代理服务器的服务器内网IP（一般设置为源端服务器内网网段。也可以设置为0.0.0.0/0以允许所有服务器访问代理）。 ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002183499485.png "点击放大")
        
     
     2. （可选）配置文件中的http_port参数值为squid指定的端口，默认为3128，也可以根据实际情况进行修改。
      
  
  3. 修改完配置文件后，在代理服务器右下角任务栏找到squid图标，单击鼠标右键，选择Exit。
  
  4. 在桌面双击Squid Server Tray图标，启动Squid进程，然后在右下角任务栏找到squid图标，单击鼠标右键，选择Start Squid Service。
  
  5. 在cmd窗口中运行如下命令检查squid是否运行。
     ```
     netstat -ano | findstr 3128
     ```
     
   
 
#### 步骤二：在源端服务器下载并安装迁移Agent
- **源端为Linux系统**
  1. 在源端服务器执行如下命令，下载迁移Agent。
     ```
     curl -x  http://代理服务器内网ip:代理端口 -O https://sms-resource-cn-cn-north-4.obs.cn-north-4.myhuaweicloud.com/SMS-Agent.tar.gz
     ```
     
  
  2. 迁移Agent下载完成后，执行如下命令，解压软件包。
     ```
     tar -zxvf SMS-Agent.tar.gz
     ```
     
  
  3. 使用文本编辑器，修改SMS-Agent/agent/config目录下的auth.cfg文件内容后保存。
     ```
     vim SMS-Agent/agent/config/auth.cfg
     ```
     ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002183618485.png)
     ![](https://support.huaweicloud.com/sms_faq/public_sys-resources/note_3.0-zh-cn.png)
     - enable设置为true表示开启代理。
     
     - proxy_addr为代理服务器内网ip地址，非目的端地址。
     
     - proxy_port为squid配置中的代理端口。
       
  
  4. 进入SMS-Agent安装目录，运行startup.sh脚本启动迁移Agent，根据提示，输入目的端服务器所在华为云账号的AK、SK，以及SMS域名。 当出现如下界面时，表示SMS-Agent启动成功，并开始给主机迁移服务上传源端服务器信息。
     ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002183684001.png "点击放大")
     
   
- **源端为Windows系统**
  1. 下载并安装迁移Agent。
     - 源端系统为Windows Server 2019/Windows Server 2016/Windows Server 2012/Windows 10/Windows 8.1时，在源端powershell中运行如下命令，下载迁移Agent。
       ```
       Invoke-WebRequest -Proxy http://代理服务器内网ip:代理端口 -Uri 
       https://sms-resource-cn-cn-north-4.obs.cn-north-4.myhuaweicloud.com/SMS-Agent-Py3.exe -OutFile C:\\SMS-Agent-Py3.exe -UseBasicParsing
       ```
       
     
     - 源端系统为Windows Server 2008/Windows 7时，通过代理服务器下载Py2版本的迁移Agent，然后传送到源端服务器并安装。详细安装介绍请参见[安装Windows版的SMS-Agent](https://support.huaweicloud.com/qs-sms/sms3_02_0005.html)。
      
  
  2. 启动迁移Agent。
     - Python3版本安装完成后，进入SMS-Agent图形界面，输入目的端服务器所在华为云账号的AK、SK，以及SMS域名；选择"使用代理"，并输入代理服务器内网ip地址以及代理端口（本文中的代理服务器未设置代理用户名和密码，故不填写）；单击"启动"。 
       
     
     - Python2版本安装完成后，进入迁移Agent安装目录，如C:\\SMS-Agent-Py2\\config目录下，修改auth.cfg文件内容并保存。 ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002148319200.png "点击放大")
       ![](https://support.huaweicloud.com/sms_faq/public_sys-resources/note_3.0-zh-cn.png)
       - enable设置为true表示开启代理。
       
       - proxy_addr为代理服务器内网ip地址，非目的端地址。
       
       - proxy_port为squid配置中的代理端口。
        
       修改完成后，在安装目录下（C:\\SMS-Agent-Py2）双击agent-start.exe，进入SMS-Agent命令行界面。依次输入目的端服务器所在华为云账号的AK、SK，以及SMS域名启动迁移Agent。
       
      
   
 
