filter表的核心功能:主机防火墙
nat表的核心功能:IP及端口的映射转换
1. 共享上网 <== 以下是配置共享上网
2. 端口上网
实验环境配置需求前期准备
网关服务器:
1)物理条件具备双网卡,建议eth0外网地址(这里是10.0.0.61),eth1内网地址(这里是 172.16.1.61,内网卡不配gw)。
2)确保服务器网关B要可以上网(B上网才能代理别的机器上网),可以通过ping www.baidu.com进行测 试。
3)内核文件/etc/sysctl.conf里开启转发功能
vim /etc/sysctl.conf --> -->sysctl -p(生效)
4)iptables的filter表的FORWARD链允许转发
[root@m01~]# iptables -nL ChainFORWARD (policy ACCEPT) target prot optsource destination
5)不要filter防火墙功能,共享上网,因此最好暂时停掉防火墙测试(/etc/init.d/iptables stop)
=================== 服务端配置 ===================
1. 使用iptables防火墙实现NAT转发
第一种: <-- 建议
vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p
第二种:
echo 1 >/proc/sys/net/ipv4/ip_forward
2. 开启防火墙功能
/etc/init.d/iptables start
3. 清除防火墙相关的规则
iptables -F iptables -X iptables -Z iptables -nL
4. 加载iptables内核模块,执行并放入rc.local
载入内核模块
modprobe ip_tables modprobe iptable_filter modprobe iptable_nat modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe ipt_state
[root@m01 ~]# lsmod|egrep ^ip ip_tables 17831 2 iptable_nat,iptable_filter ipt_REJECT 2351 0 ipv6 335589 274
(5)局域网共享上网命令(任选一种即可)
方法1:适合于有固定外网地址的
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -oeth0
# 说明: -s 172.16.1.0/24:办公司IDC内网网段
-o eth0:为网关的外网网卡接口
-j SNAT --to-source 10.0.0.61:是网关外网卡IP地址
# 范例:
iptables -t nat -A POSTROUTING -s 10.0.1.0/255.255.240.0 -o eth0 -j SNAT --to-source 124.42.60.11-124.42.60.16
[root@m01 ~]# iptables -t nat-nL Chain PREROUTING (policyACCEPT) target prot opt source destination Chain POSTROUTING (policyACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
方法2:适合变化的外网地址(ADSL)
[root@m01 ~]# iptables -t nat -A POSTROUTING -s172.16.1.0/24 -j MASQUERADE #<== 伪装 [root@m01 ~]# iptables -t nat-nL Chain PREROUTING (policyACCEPT) target prot opt source destination Chain POSTROUTING (policyACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
为什么用POSTROUTING?
企业共享上网
1)办公司共享上网(网关要有外网IP),否则用路由(zebra)。
2)IDC内网机器上网。
=================== 客户端配置 ===================
(1)配置内网IP的网关
vim /etc/sysconfig/network-scripts/ifcfg-eth1 GATEWAY=172.16.1.61 # 临时添加网关:route add default gw172.16.1.61
(2)修改DNS配置文件,设置网关
[root@web01 /]# vim /etc/resolv.conf nameserver 10.0.0.2
(3)重启网卡使修改的网卡配置文件生效
/etc/init.d/network restart route -n
(4)关闭外网IP
ifdown eth0
(5)测试网关是否可以通
ping 10.0.0.2
(6)如果可以ping通的话,则ping域名测试,但是不要忘记将外网的IP地址关闭
ping www.baidu.com
转载于:https://blog.51cto.com/zhaoyulin/1856453