Iptables
规则 定义具体防火墙处理动作
链 根据规则的特征,把多条规则“串”起来。
表 根据防火墙的功能,划分不同的表,把多个链放到表
防火墙的功能:
数据包过滤 filter
地址映射 nat
数据包修改/标志 mangle
原始数据处理 raw
filter表默认支持的链
INPUT <---数据包是传给本机的应用程序 ###考这里
OUTPUT <---数据包是从本机应用程序发送出去 ###考这里
FORWARD <----数据包转发
iptales
-t 指定操作的表
-F 清空某个表的规则
-A 追加规则
-I 在最前面或者指定位置插入规则
-D 删除规则
-P 修改某个链默认策略
-L 显示某个表的所有规则
-n 以数值显示IP,不进行地址界面
-v 显示规则的详细信息
--line-numbers 显示规则的时候同时显示规则的行号
-j {DROP|REJECT|ACCEPT} 处理动作
开启防火墙:
# setup
# service iptables restart
例子1:清空原来redhat自带的规则
# iptables -F <---默认清空的是filter ,等价于 iptables -t filter -F
# service iptables save 《--设定好规则之后,无比保存
将当前规则保存到 /etc/sysconfig/iptables: [确定]
平时使用,一般服务器要求都是只开放某些允许的服务通过防火墙,所以防火墙的默认策略都是DROP
例子1:<---你必须完整以下两条规则
允许本机环回地址lo的所有通讯,拒绝其他一切数据流经本机
# iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
# iptables -P INPUT DROP
例子2:(在例子1基础上)
把/common通过nfs共享《---你要想办法让nfs相关数据通过iptables
1、编辑/etc/sysconfig/nfs,让nfs使用固定的端口
# vim /etc/sysconfig/nfs
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020
2、重启portmap 和 nfs服务
3、验证端口的使用情况
# rpcinfo -p 10.1.1.21
4、把第一步固定下来的端口,还有另外的 111,2049 添加到iptables规则里,并且允许通过
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
# iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
# iptables -P INPUT DROP
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
# iptables -A INPUT -p tcp -m multiport --dports 111,875,32803,32769,892,662,2020,2049 -j ACCEPT
# iptables -A INPUT -p udp -m multiport --dports 111,875,32803,32769,892,662,2020,2049 -j ACCEPT