当前位置: > CentOS > CentOS入门 >

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)
------分隔线----------------------------
栏目列表
推荐内容