一.概念
百度百科:
正向代理,意思是一个位于客户端和原始服务器(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)