定义
正向代理:是一个位于客户端和原始服务器之间的服务器,为了原始服务器取得内容,客户端向代理发送一个请求并指定目标,然后代理向原始服务器转交并将获得的内容返回给客户端。客户端才能使用正向代理。
正向代理的典型用途是为在防火墙内的局域网客户端提供Internet的途径。正向代理还可以使用缓冲特性减少网络使用率。
使用ProxyRequests指令即可激活正向代理。因为正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。
环境准备
准备两台服务器(两台服务器都拥有两块网卡)
类似这样
ens33是外网网卡ens37是内网网卡
10.0.0.41
10.0.0.42
首先的操作在41这台服务器
添加IP转发
[root@ localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward=1
使添加的IP转发生效
[root@ localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
查看防火墙状态
[root@ localhost ~]# firewall-cmd --add-masquerade --permanent
FirewallD is not running
开启防火墙,并查看状态
[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 19:41:23 CST; 6s ago
Docs: man:firewalld(1)
Main PID: 2916 (firewalld)
CGroup: /system.slice/firewalld.service
└─2916 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Feb 12 19:41:23 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Feb 12 19:41:23 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
再一次查看防火墙是否开启
[root@ localhost ~]# firewall-cmd --add-masquerade --permanent
success
添加规则
[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 ~]# firewall-cmd --reload
success
添加内网服务器网关(没有外网IP或者没有外网的服务器)
这里我们的10.0.0.42服务器充当没有外网的服务器
这个时候我们需要在没有外网的服务器上添加可以访问外网的内网IP地址为网关就可以访问外网了。
重启网卡
systemctl restart network
关掉外网IP
ifdown ens33
查看是否能ping通百度
ping www.baidu.com
效果如下表示成功