squid正向代理__ECS設置_操作指南_高性能計算-阿裏雲
阿裏雲HPC物理機本身不能訪問外網,隻能通過ECS正向代理訪問。
本文檔將指導用戶如何設置代理服務器。
1. 確定IP地址
用戶應首先確認這幾個IP地址:
ECS外網IP(不便於透露,本文用XXX.XXX.XXX.XXX表示)和內網IP(實驗用10.10.10.10)
HPC物理機內網IP(實驗用10.239.23.4)
2. 登錄ECS跳板機
用戶可以用PUTTY工具(Windows環境)或SSH命令(Linux環境)登錄ECS,注意應使用ECS外網IP登入。
ssh -l login_name XXX.XXX.XXX.XXX(ECS外網IP)
登錄成功後,可以在ECS跳板機上用SSH命令登錄HPC物理機:
ssh -l root 10.239.23.4(HPC物理機內網IP)
3. ECS跳板機上部署代理服務器squid
這裏選擇squid,因為它不僅支持訪問HTTP的服務還支持訪問HTTPS的服務。
3.1 安裝squid
重新開一個終端,登錄到ECS跳板機。
直接用yum安裝:
yum install squid
默認情況下安裝位置在 /usr/sbin/squid
3.2 編輯squid配置文件
用root權限打開 /etc/squid/squid.conf
文件,首先把不需要的內網地址全部注釋上,在上麵增加一行,添加自己的HPC物理機IP地址,然後把不需要開放的端口注釋上,隻留下80和443端口,然後增加一行:access_log /var/log/squid/access
.log用來記錄訪問情況。
修改後如下:
......
acl localnet src 10.239.23.4 # 這裏增加一行,添加自己的HPC物理機IP地址
#acl localnet src 10.0.0.0/8 # RFC1918 possible internal network,注釋上
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network,注釋上
#acl localnet src 192.168.0.0/16 # RFC1918 possible internal network,注釋上
#acl localnet src fc00::/7 # RFC 4193 local private network range,注釋上
#acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines,注釋上
acl SSL_ports port 443
acl Safe_ports port 80 # http服務端口打開
#acl Safe_ports port 21 # ftp可以根據情況是否打開
acl Safe_ports port 443 # https服務端口打開
#acl Safe_ports port 70 # gopher,注釋上
#acl Safe_ports port 210 # wais,注釋上
#acl Safe_ports port 1025-65535 # unregistered ports,注釋上
#acl Safe_ports port 280 # http-mgmt,注釋上
#acl Safe_ports port 488 # gss-http,注釋上
#acl Safe_ports port 591 # filemaker,注釋上
#acl Safe_ports port 777 # multiling http,注釋上
acl CONNECT method CONNECT
......
# And finally deny all other access to this proxy
http_access deny all # 除上麵允許的外,其他一律禁止訪問
# Squid normally listens to port 3128
http_port 3128 # squid默認監聽端口號,可以修改成別的端口號
# Added
access_log /var/log/squid/access.log # 這裏增加一行,用於監控訪問記錄
保存該文件。
3.3 啟動squid
用root權限運行:sudo service squid start
查看squid運行狀態:
sudo service squid status
squid (pid 31659) is running...
3.4 設置ECS防火牆
出於節省流量和安全考慮,需要在ECS上設置防火牆規則,將除了HPC物理機之外的所有訪問3128端口的請求都擋在防火牆外。
步驟如下:
3.4.1 開啟防火牆
CentOS 6: service iptables start
CentOS 7: systemctl start firewalld
3.4.2 添加防火牆規則
首先允許HPC物理機IP地址(本文用10.239.23.4,請根據實際情況修改)訪問3128端口:
iptables -I INPUT -s 10.239.23.4 -p TCP --dport 3128 -j ACCEPT
端口3128要和3.2節squid配置文件中的端口設置相同。
然後禁止所有訪問3128端口的tcp連接:
iptables -A INPUT -p TCP --dport 3128 -j DROP
然後保存iptables設置:
service iptables save
查看規則是否生效:
iptables -L -n
可以看到新增了兩條規則:
target prot opt source destination
ACCEPT tcp -- 10.239.23.4 0.0.0.0/0 tcp dpt:3128
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3128
4. 在HPC物理機上設置代理
回到HPC物理機終端,進行代理設置。
最簡單的方式是使用環境變量,假設ECS內網IP為10.10.10.10(用戶需要自行替換為真實ECS內網IP),則可以執行:
export http_proxy=https://10.10.10.10:3128
export https_proxy=https://10.10.10.10:3128
注意: 這裏的代理服務器端口設置應該和ECS跳板機上squid.conf中監聽端口一致,另外必須是ECS內網地址。
也可以將上述語句放入/etc/profile或~/.bashrc實現登錄HPC物理機時自動配置代理服務器。
5. 測試
在HPC物理機上使用wget、git clone和yum install測試結果如下:
5.1 測試http的訪問
wget https://www.cmake.org/files/v3.3/cmake-3.3.1.tar.gz
--2015-09-29 18:12:52-- https://www.cmake.org/files/v3.3/cmake-3.3.1.tar.gz
Connecting to 120.26.218.226:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 6577869 (6.3M) [application/x-gzip]
Saving to: ‘cmake-3.3.1.tar.gz’
100%[========================================================================================================================================>] 6,577,869 28.7KB/s in 3m 55s
2015-09-29 18:16:47 (27.4 KB/s) - ‘cmake-3.3.1.tar.gz’ saved [6577869/6577869]
可以查看/var/log/squid/access.log文件,找到上述下載的log:
1443530801.311 7144 10.239.23.4 TCP_MISS/200 132972 GET https://www.cmake.org/files/v3.3/cmake-3.3.1.tar.gz - DIRECT/66.194.253.19 application/x-gzip
5.2 測試https的訪問
wget https://codeload.github.com/gflags/gflags/tar.gz/v2.1.2
--2015-09-29 18:18:13-- https://codeload.github.com/gflags/gflags/tar.gz/v2.1.2
Connecting to 120.26.218.226:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 95716 (93K) [application/x-gzip]
Saving to: ‘v2.1.2’
100%[========================================================================================================================================>] 95,716 78.7KB/s in 1.2s
2015-09-29 18:18:17 (78.7 KB/s) - ‘v2.1.2’ saved [95716/95716]
可以查看/var/log/squid/access.log文件,找到上述下載的log:
1443531073.042 11238 10.239.23.4 TCP_MISS/200 101394 CONNECT codeload.github.com:443 - DIRECT/192.30.252.145 -
5.3 測試git clone
git clone https://github.com/gflags/gflags.git
Cloning into 'gflags'...
remote: Counting objects: 1772, done.
remote: Total 1772 (delta 0), reused 0 (delta 0), pack-reused 1772
Receiving objects: 100% (1772/1772), 1.27 MiB | 493.00 KiB/s, done.
Resolving deltas: 100% (1013/1013), done.
可以查看/var/log/squid/access.log文件,找到上述下載的log:
1443531119.620 29512 10.239.23.4 TCP_MISS/200 1356342 CONNECT github.com:443 - DIRECT/192.30.252.129 -
5.4 測試yum
# yum install openssl
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyuncs.com
* extras: mirrors.aliyuncs.com
* updates: mirrors.aliyuncs.com
Resolving Dependencies
--> Running transaction check
---> Package openssl.x86_64 1:1.0.1e-42.el7.9 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================================================================================================
Package Arch Version Repository Size
==================================================================================================================================================================================
Installing:
openssl x86_64 1:1.0.1e-42.el7.9 updates 711 k
Transaction Summary
==================================================================================================================================================================================
Install 1 Package
Total download size: 711 k
Installed size: 1.5 M
Is this ok [y/d/N]: y
Downloading packages:
openssl-1.0.1e-42.el7.9.x86_64.rpm | 711 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
authconfig-6.2.8-9.el7.x86_64 has missing requires of /usr/bin/openssl
Installing : 1:openssl-1.0.1e-42.el7.9.x86_64 1/1
Verifying : 1:openssl-1.0.1e-42.el7.9.x86_64 1/1
Installed:
openssl.x86_64 1:1.0.1e-42.el7.9
Complete!
可以查看/var/log/squid/access.log文件,找到上述yum安裝的log:
1443522032.861 129 10.239.23.4 TCP_MISS/200 728129 GET https://mirrors.aliyuncs.com/centos/7/updates/x86_64/Packages/openssl-1.0.1e-42.el7.9.x86_64.rpm - DIRECT/10.143.34.200 application/x-redhat-package-manager
通過以上測試,驗證了HPC物理機已經可以通過ECS正向代理訪問外網。
最後更新:2016-11-23 16:03:51
上一篇:
安全組設置__ECS設置_操作指南_高性能計算-阿裏雲
下一篇:
正向代理__ECS設置_操作指南_高性能計算-阿裏雲
步驟3:驗證配置生效__快速入門(非網站業務)_DDoS 高防IP-阿裏雲
樣例代碼__Python SDK_SDK參考_E-MapReduce-阿裏雲
阿裏雲引入AI力量智能護航金磚會議;百度AI走進平穀桃園,智能分揀機助力農業發展
基本問題__常見問題_日誌服務-阿裏雲
常用 SQL 命令(MySQL)__附錄_用戶指南_雲數據庫 RDS 版-阿裏雲
net__SDK手冊_OpenAPI 1.0_移動推送-阿裏雲
技術架構__產品簡介_業務實時監控服務 ARMS-阿裏雲
邀請資格申請__快速入門_雲數據庫 OceanBase-阿裏雲
態勢感知能為你做什麼___態勢感知場景教程_態勢感知-阿裏雲
阿裏雲:量子計算雲平台上線;海康威視、深圳交警戰略合作
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲