商务合作加Q:411239339

CentOS 7 如何添加iptables防火墙

浏览:439次阅读
没有评论

共计 1691 个字符,预计需要花费 5 分钟才能阅读完成。

前言:

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 的使用,可以查看我博客中的文章:

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

正文完
扫码赞助
post-qrcode
 0
果子
版权声明:本站原创文章,由 果子 于2015-07-03发表,共计1691字。
转载说明:除特殊说明外本站文章皆由果较瘦原创发布,转载请注明出处。
评论(没有评论)