系统环境:centos6.3 x64
IPTABLES:系统自带
<强>一。部署环境:强>
1。关闭SELINUX
# setenforce 0
# vi/etc/sysconfig/selinux
- - - - - - - - - - - - - - - - - -
禁用SELINUX=
- - - - - - - - - - - - - - - - - -
2。清空默认策略并重启iptables
# iptables - t NAT - f
# iptables - f
#服务iptables保存
#服务iptables重启
3。开启服务器端路由转发功能# vi/etc/sysctl.conf
- - - - - - - - - - - - - - - - - - - - - - - -
net.ipv4。ip_forward=1
- - - - - - - - - - - - - - - - - - - - - - - -
# sysctl - p
本例我们模拟一个WEB站点,只在防火墙处开启SSH: 22和网络:80端口,并配置防火墙到内网服务器22与80的端口映射,若开启其他端口服务,请自行修改
<强>二。网关防火墙iptables配置:强>
1。内部回环网络永远打开。
# iptables -输入- lo - s 127.0.0.1 - j接受
# iptables -输出- o lo - s 127.0.0.1 - j接受
2。用DNAT做端口映射:
# iptables - t nat - PREROUTING - d为1.2.3.4 - p tcp——dport 22 - j DNAT 192.168.100.10
# iptables - t nat - PREROUTING - d为1.2.3.4 - p tcp——dport 80 - j DNAT——192.168.100.10
#用SNAT作源地址转换(关键),以使回应包能正确返回
# iptables - t nat - POSTROUTING - d 192.168.100.10 - p tcp——dport 22, - j SNAT——192.168.100.1
# iptables - t nat - POSTROUTING - d 192.168.100.10 - p tcp——dport 80, - j SNAT——192.168.100.1
3。打向前开链的相关端口(路由转发)
#向前iptables - a - o eth2 - d 192.168.100.10 - p tcp——dport 22 - j接受
# iptables -向前我eth2 - s 192.168.100.10 tcp -运动22 - m - p状态——
建立,相关- j接受
#向前iptables - a - o eth2 - d 192.168.100.10 - p tcp——dport 80 - j接受
# iptables -向前我eth2 - s 192.168.100.10 tcp——运动80 - p - m状态——
建立,相关- j接受
4。子网接受其他的tcp包。
# tcp -我eth2向前iptables - a - p - o eth0 - j接受
5。子网可以访问其他UDP协议的公网服务。
#向前iptables - a - p udp - eth0 - s 192.168.0.0/24 - o eth2, - j接受
#向前iptables - a - p udp - eth2 - d 192.168.0.0/24 - o eth0 - m状态,状态建立- j接受
6。子网访问公网的模式是伪装成网关的地址,使内网用户可路由出外网
# iptables - t nat - POSTROUTING - s 192.168.100.0/24 - o eth0 - j化装
7。拒绝其他所有策略:
# iptables - p拒绝转发
# iptables -输入- j拒绝
# iptables - p输出拒绝
8。保存并重启服务:
#服务iptables保存
#服务iptables重启
- - - - - - - - - - -配置完毕- - - - - - - - - - - -