Centos 6.3利用iptables配置网关防火墙
时间:2014-11-05 01:01 来源:linux.it.net.cn 作者:IT
系统环境:centos6.3 x64
IPTABLES:系统自带
一.部署环境:
1.关闭SELINUX
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
---------------
2.清空默认策略并重启iptables
# iptables -t NAT -F
# iptables -F
# service iptables save
# service iptables restart
3.开启服务器端路由转发功能
# vi /etc/nf
---------------------
net.ipv4.ip_forward = 1
---------------------
# sysctl -p
本例我们模拟一个WEB站点,只在防火墙处开启SSH:22和WEB:80端口,并配置防火墙到内网服务器22与80的端口映射,若开启其他端口服务,请自行修改
二.网关防火墙iptables配置:
1.内部回环网络永远打开.
# iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT
# iptables -A OUTPUT -o lo -s 127.0.0.1 -j ACCEPT
2.用DNAT做端口映射:
# iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 22 -j DNAT --to 192.168.100.10
# iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j DNAT --to 192.168.100.10
# 用SNAT作源地址转换(关键),以使回应包能正确返回
# iptables -t nat -A POSTROUTING -d 192.168.100.10 -p tcp --dport 22 -j SNAT --to 192.168.100.1
# iptables -t nat -A POSTROUTING -d 192.168.100.10 -p tcp --dport 80 -j SNAT --to 192.168.100.1
3.打开FORWARD链的相关端口(路由转发)
# iptables -A FORWARD -o eth1 -d 192.168.100.10 -p tcp --dport 22 -j ACCEPT
# iptables -A FORWARD -i eth1 -s 192.168.100.10 -p tcp --sport 22 -m state --state
ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -o eth1 -d 192.168.100.10 -p tcp --dport 80 -j ACCEPT
# iptables -A FORWARD -i eth1 -s 192.168.100.10 -p tcp --sport 80 -m state --state
ESTABLISHED,RELATED -j ACCEPT
4.子网接受其他的tcp包.
# iptables -A FORWARD -p tcp -i eth1 -o eth0 -j ACCEPT
5.子网可以访问其他UDP协议的公网服务.
# iptables -A FORWARD -p udp -i eth0 -s 192.168.0.0/24 -o eth1 -j ACCEPT
# iptables -A FORWARD -p udp -i eth1 -d 192.168.0.0/24 -o eth0 -m state --state ESTABLISHED -j ACCEPT
6.子网访问公网的模式是伪装成网关的地址,使内网用户可路由出外网
# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE
7.拒绝其他所有策略:
# iptables -P FORWARD REJECT
# iptables -A INPUT -j REJECT
# iptables -P OUTPUT REJECT
8.保存并重启服务:
# service iptables save
# service iptables restart
----------配置完毕-----------
(责任编辑:IT)
系统环境:centos6.3 x64 IPTABLES:系统自带 一.部署环境: 1.关闭SELINUX # setenforce 0 # vi /etc/sysconfig/selinux --------------- SELINUX=disabled --------------- 2.清空默认策略并重启iptables # iptables -t NAT -F # iptables -F # service iptables save # service iptables restart 3.开启服务器端路由转发功能 # vi /etc/nf --------------------- net.ipv4.ip_forward = 1 --------------------- # sysctl -p 本例我们模拟一个WEB站点,只在防火墙处开启SSH:22和WEB:80端口,并配置防火墙到内网服务器22与80的端口映射,若开启其他端口服务,请自行修改
二.网关防火墙iptables配置: 1.内部回环网络永远打开. # iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT # iptables -A OUTPUT -o lo -s 127.0.0.1 -j ACCEPT 2.用DNAT做端口映射: # iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 22 -j DNAT --to 192.168.100.10 # iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j DNAT --to 192.168.100.10 # 用SNAT作源地址转换(关键),以使回应包能正确返回 # iptables -t nat -A POSTROUTING -d 192.168.100.10 -p tcp --dport 22 -j SNAT --to 192.168.100.1 # iptables -t nat -A POSTROUTING -d 192.168.100.10 -p tcp --dport 80 -j SNAT --to 192.168.100.1 3.打开FORWARD链的相关端口(路由转发) # iptables -A FORWARD -o eth1 -d 192.168.100.10 -p tcp --dport 22 -j ACCEPT # iptables -A FORWARD -i eth1 -s 192.168.100.10 -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT # iptables -A FORWARD -o eth1 -d 192.168.100.10 -p tcp --dport 80 -j ACCEPT # iptables -A FORWARD -i eth1 -s 192.168.100.10 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT 4.子网接受其他的tcp包. # iptables -A FORWARD -p tcp -i eth1 -o eth0 -j ACCEPT 5.子网可以访问其他UDP协议的公网服务. # iptables -A FORWARD -p udp -i eth0 -s 192.168.0.0/24 -o eth1 -j ACCEPT # iptables -A FORWARD -p udp -i eth1 -d 192.168.0.0/24 -o eth0 -m state --state ESTABLISHED -j ACCEPT 6.子网访问公网的模式是伪装成网关的地址,使内网用户可路由出外网 # iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE 7.拒绝其他所有策略: # iptables -P FORWARD REJECT # iptables -A INPUT -j REJECT # iptables -P OUTPUT REJECT 8.保存并重启服务: # service iptables save # service iptables restart ----------配置完毕----------- |