共计 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/
正文完
扫码赞助
