作者:80后之多管闲事 | 来源:互联网 | 2024-11-11 18:33
在CentOS7系统中,iptables的过滤表和NAT表具有重要的应用价值。本文通过具体实例详细介绍了如何配置iptables的过滤表,包括编写脚本文件`/usr/local/sbin/iptables.sh`,并使用`iptables-F`清空现有规则。此外,还深入探讨了NAT表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。
一、iptables filter表案例
vim /usr/local/sbin/iptables.sh 加入如下内容
#! /bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state ERLATED,ESTABLISHED -j ACCEPT
$!ipt -A INPUT -s 192.168.1.101/24 -p tcp --dport 22 -j ACCEPT
$!ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$!ipt -A INPUT -P tcp --dport 21 -j ACCEPT
icmp示例
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
二、iptables nat表应用
nat表应用 A机器两块网卡ens33(192.168.1.101)、ens37(192.168.1.106),ens33可以上外网,ens3仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens3可以通信互联。
需求1:可以让B机器连接外网
A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forward
A上执行 iptables -t nat -A POSTROUTING -s 192.168.1.101/24 -o ens33 -j MASQUERADE
B上设置网关为192.168.1.106
需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口
A上打开路由转发echo "1">/ proc/sys/net/ipv4/ip_forward
A上执行iptables -t nat -A PREROUTING -d 192.168.1.101 -p tcp --dport 1122 -j DNAT --to 192.168.1.106:22
A上执行iptables -t nat -A POSTROUTING -s 192.168.1.106 -j SNAT --to 192.168.1.101
B上设置网关为192.168.1.106
保存和备份iptables规则
service iptables save //会把规则保存到
/etc/sysconfig/iptables 把iptables规则备份到my.ipt文件中
iptables-save > my.ipt 恢复刚才备份的规则
iptables-restore Linux centos7iptables filter表案例、iptables nat表应用