一.概念
百度百科:
正向代理,意思是一個位於客戶端和原始服務器(origin server)之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求並指定目標(原始服務器),然后代理向原始服務器轉交請求並將獲得的內容返回給客戶端。客戶端才能使用正向代理。
二.使用場景
正向代理的典型用途是為在防火牆內的局域網客戶端提供訪問Internet的途徑。正向代理還可以使用緩沖特性減少網絡使用率。反向代理的典型用途是將 防火牆后面的服務器提供給Internet用戶訪問。反向代理還可以為后端的多台服務器提供負載平衡,或為后端較慢的服務器提供緩沖服務
三.應用場景
某小型公司有同網段10台服務器,防止病毒木馬的侵入,只有一台服務器有外網,其他服務器都沒有外網,但是也得讓其他服務器能進上網,這是你就需要部署一個正向代理服務器,去代理上網,
模擬正向
准備兩台CentOS7(每台都有對外卡和內網網卡)
第一台:
10.0.0.41(ens33對外IP)
172.16.1.141(ens37對內IP)
第二台:
10.0.0.42(ens33對外IP)
172.16.1.142(ens37對內IP)
1.在第一台添加Ipv4轉發
vim /etc/sysctl.conf net.ipv4.ip_forward=1 讓添加內容生效 sysstl -p
2.模擬網關的內容的流量正向代理,
(1)把防火牆開啟
[root@ localhost ~]# systemctl start firewalld [root@ localhost ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2020-02-12 22:06:04 CST; 6s ago Docs: man:firewalld(1) Main PID: 2352 (firewalld) CGroup: /system.slice/firewalld.service └─2352 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid Feb 12 22:06:03 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon... Feb 12 22:06:04 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon. [root@ localhost ~]#
(2)開啟轉發(很重要,否則配置的轉發不生效)
[root@ localhost ~]# firewall-cmd --add-masquerade --permanent success [root@ localhost ~]#
(3)設置NAT規則
[root@ localhost ~]# firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o ens37 -j MASQUERADE -s 172.16.1.0/24 success [root@ localhost ~]#
--permanent #永久生效,沒有此參數重啟后失效
--direct一共有三種節點:chain、rule和passthrough
--passthrough就是iptables/ip6tables中的一條具體的規則
(4)重載Firewall使配置生效
[root@ localhost ~]# firewall-cmd --reload success [root@ localhost ~]#
3.添加內網服務器網關
在第二台服務器上訪問外網的的內網服務器上添加172.16.1.141(第一台上enss37內網IP)
模擬效果:關閉ens33網卡
[root@ localhost ~]# ifdown ens33
關閉后遠程連接工具會斷開
在VMware
臨時添加一個默認路由的下一跳地址
vim 添加一個ens37網關
vim /etc/sysconfig/network-scripts/ifcfg-ens37
重啟網卡
systemctl restart network
注:重啟網卡會把ens33網卡重新啟動,模擬效果在次關閉(ifdown ens33) 在ping百度
在部署好網關正向代理后沒有外網IP,遠程工具連接不上此服務器
解決方法:
免密登錄
在正向代理服務器上(第一台服務器)密鑰發送到第二台的ens37(172.16.1.142)