CentOS 7 如何添加iptables防火墙

2015/07/0314:46:49 发表评论

前言:

CentOS 7 is using FirewallD now!

Example:

firewall-cmd --zone=public --add-port=3000/tcp --permanent

reload rules:

firewall-cmd --reload
由于CentOS 7在文件系统上有较大的改变,主要改变为网卡配置接口名称,启动项管理等方式有了很大不同,CentOS 7中启动项管理采用的是systemcl的方式管理,而之前的版本中采用的是service 服务名  start | restart | reload。本文将以安装iptables-services服务为例,来讲解如何安装服务,并使用一个简单的示例来说明iptables的用途。

1、首先关闭firewall

#停止firewall
systemctl stop firewalld.service 
#禁止firewall开机启动
systemctl disable firewalld.service

2、安装iptables

yum install iptables-services -y
#查看安装路径
sudo rpm -ql iptables-services

/etc/sysconfig/ip6tables
/etc/sysconfig/iptables
/usr/lib/systemd/system/ip6tables.service
/usr/lib/systemd/system/iptables.service
/usr/libexec/initscripts/legacy-actions/ip6tables
/usr/libexec/initscripts/legacy-actions/ip6tables/panic
/usr/libexec/initscripts/legacy-actions/ip6tables/save
/usr/libexec/initscripts/legacy-actions/iptables
/usr/libexec/initscripts/legacy-actions/iptables/panic
/usr/libexec/initscripts/legacy-actions/iptables/save
/usr/libexec/iptables
/usr/libexec/iptables/ip6tables.init
/usr/libexec/iptables/iptables.init

3、添加iptables策略

我们来做一个示例,假设有一台公网主机A,IP为:10.12.123.1,内网主机B,IP为:192.168.1.8,A主机与B主机通过内网网线相连接,是可以网络上互通的,当我们访问主机A的端口8322时,实际上访问的是内网主机B的22号端口,如何通过iptables做转发?我们只需要在主机A中添加以下三条即可:

#首先需要开启NAT转发
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -I PREROUTING -p tcp --dport 8322 -j DNAT --to-destination=192.168.208.4:22 
sudo iptables -t nat -I POSTROUTING -p tcp --dport 22 -d 192.168.208.4 -j MASQUERADE

4、保存配置令其永久生效

保存开启转发配置:

sudo echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.locale

接下来,我们可以使用以下命令进行iptables规则的保存:

sudo service iptables save

附录:

关于iptables的使用,可以查看我博客中的文章:

http://www.guoziweb.com/2014/12/25/iptables%E8%AF%A6%E8%A7%A3/

  • 微信扫码赞助
  • weinxin
  • 支付宝赞助
  • weinxin

发表评论

您必须才能发表评论!