一、Iptables常用操作
1.查看当前所有的iptables配置
iptables -L -n |
2.添加允许INPUT访问规则,以下时常见服务的端口设置,如果需要拒绝访问,则将ACCEPT改为DROP即可
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 8080 -j ACCEPT iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT //(开放连续端口) |
3.添加使用IP限制INPUT访问规则,这里拿SSH为例,192.168.0.100为允许的IP
#DELETE(因为这个优先级比较高,不删除还是会先匹配这个) iptables -D INPUT -p tcp --dport 22 -j ACCEPT #ADD iptables -A INPUT -s 192.168.0.100 -p tcp --dport 22 -j ACCEPT #192.168.0.0/24 可以限制从0.1-0.255的所有ip,24表示子网数 |
4.修改完规则后记得保存
保存iptables的设置 | /etc/rc.d/init.d/iptables save |
重启iptables | service iptables restart |
打开/关闭开机自启 | chkconfig iptables on/off |
永久性关闭 | chkconfig --level 35 iptables off |
5. 查看iptables状态并修改:
vi /etc/sysconfig/iptables | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
$/etc/init.d/iptables restart |
/etc/init.d/iptables status |
|
6、清除预设表filter中的规则
iptables -F | 清除预设表filter中的所有规则 |
iptables -X | 清除预设表filter中使用者自定链中的规则 |
7、设定预设规则
iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP |
8、特殊地址
iptables -A INPUT -p icmp -j ACCEPT | 允许ping |
iptables -A INPUT -i lo -p all -j ACCEPT | 允许loopback |
二、Iptables其他操作
#减少不安全的端口连接
#iptables -A OUTPUT -p tcp --sport 31337 -jDROP
#iptables -A OUTPUT -p tcp --dport 31337 -jDROP
#允许指定网段通过、指定网口通过SSH连接本机
#iptables -A INPUT -i eth0 -p tcp -s192.168.10.0/24 --dport 22 -mstate --state NEW,ESTABLESHED -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp --sport22 -m state --stateESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth0 -p tcp -s192.168.10.0/24 --dport 22 -mstate --state ESTABLESHED -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp --sport22 -m state --stateNEW,ESTABLISHED -j ACCEPT
#开启转发功能
#iptables -A FORWARD -i eth0 -o eth1 -mstate --stateRELATED,ESTABLISHED -j ACCEPT
#iptables -A FORWARD -i eth1 -o eh0 -jACCEPT
#丢弃坏的TCP包
#iptables -A FORWARD -p TCP ! --syn -mstate --state NEW -jDROP
#处理IP碎片数量,防止攻击,允许每秒100个
#iptables -A FORWARD -f -m limit --limit100/s --limit-burst 100 -jACCEPT
#设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包
#iptables -A FORWARD -p icmp -m limit--limit 1/s --limit-burst 10-j ACCEPT
#丢弃非法连接
iptables -A INPUT -m state --state INVALID-j DROP
iptables -A OUTPUT -m state --state INVALID-j DROP
iptables -A FORWARD -m state --stateINVALID -j DROP
#允许所有已经建立的和相关的连接
iptables -A INPUT -m state --stateESTABLISHED,RELATED -jACCEPT
iptables -A OUTPUT -m state --stateESTABLISHED,RELATED -jACCEPT
###############配置NAT表防火墙###############
#查看NAT表规则
iptables -t nat -L
#清除NAT规则
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
#防止外网用内网IP欺骗
#iptables -t nat -A PREROUTING -i eth0 -s10.0.0.0/8 -j DROP
#iptables -t nat -A PREROUTING -i eth0 -s172.16.0.0/12 -jDROP
#iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16-jDROP
#禁止与某个IP的所有连接
#iptables -t nat -A PREROUTING -d192.168.10.1 -j DROP
#禁用80端口
#iptables -t nat -A PREROUTING -p tcp--dport 80 -j DROP
#禁用某个IP的80端口
#iptables -t nat -A PREROUTING -p tcp--dport 21 -d 192.168.10.1 -jDROP
三、修改Iptables配置文件使之永久生效:
1、 /etc/sysconfig/iptables是只读的,修改为可读写
chattr -i /etc/sysconfig/iptables
2、 添加注释和字段
-A INPUT -p tcp -m iprange--src-range 10.21.130.120-10.21.130.126 --sport1024:65535 -m multiport --dports2888,3888,6181,9092 -m state --state NEW -j ACCEPT
iprange表示ip段
-s 表示单个ip和子网掩码
m multiport-dports 表示多端口
dport 表示单个端口
3、 重新加载Iptables
service iptables reload
四、CDH需要用到的端口:
CM端口 | Activity Monitor | 8087 | Activity Monitor Web UI 端口 |
9999 | Activity Monitor 侦听端口 | ||
9998 | Activity Monitor 喷嘴端口 | ||
Alert Publisher | 10101 | 警报:侦听端口 | |
Event Server | 7184 | 事件发布端口 | |
7185 | 事件查询端口 | ||
8084 | Event Server Web UI 端口 | ||
Host Monitor | 8091 | Host Monitor Web UI 端口 | |
9995 | Host Monitor 侦听端口 | ||
9994 | Host Monitor 喷嘴端口 | ||
Service Monitor | 8086 | Service Monitor Web UI 端口 | |
9997 | Service Monitor 侦听端口 | ||
9996 | Service Monitor 喷嘴端口 |
HDFS | DataNode | 50020 | DataNode 协议端口 |
1004 | DataNode 收发器端口 | ||
1006 | DataNode HTTP Web UI 端口 | ||
50475 | 安全 DataNode Web UI 端口 (TLS/SSL) | ||
NameNode | 8020 | NameNode 端口 | |
8022 | NameNode 服务 RPC 端口 | ||
50070 | NameNode Web UI 端口 | ||
50470 | 安全 NameNode Web UI 端口 (TLS/SSL) | ||
JournalNode | 8485 | JournalNode RPC 端口 | |
8480 | JournalNode HTTP 端口 | ||
8481 | 安全 JournalNode Web UI 端口 (TLS/SSL) | ||
NFS Gateway | 2049 | NFS Gateway 服务器端口 | |
4242 | NFS Gateway MountD 端口 | ||
111 | 端口映射(或 Rpcbind)端口 | ||
50079 | NFS Gateway Web UI 端口 | ||
50579 | 安全NFS Gateway Web UI 端口(TLS/SSL) | ||
HttpFS | 14000 | REST 端口 | |
14001 | 管理端口 | ||
SecondaryNameNode | 50090 | SecondaryNameNode Web UI 端口 | |
50495 | 安全 SecondaryNameNode Web UI 端口 (TLS/SSL) |
YARN | ResourceManager | 8032 | ResourceManager 中应用程序管理接口 |
8030 | ResourceManager 中调度器接口 | ||
8031 | ResourceManager 中资源追踪器接口 | ||
8033 | ResourceManager 中管理接口 | ||
8088 | ResourceManager Web 应用程序的 HTTP 端口 | ||
8090 | ResourceManager Web 应用程序的 HTTPS 端口 | ||
NodeManager | 8042 | NodeManager Web 应用程序的 HTTP 端口 | |
8044 | NodeManager Web 应用程序的 HTTPS 端口 | ||
8041 | NodeManager IPC 的地址。 | ||
8040 | Localizer 端口 | ||
JobHistory Server
| 10020 | MapReduce JobHistory Server 端口 | |
19888 | MapReduce JobHistory Web 应用程序 HTTP 端口 | ||
19890 | MapReduce JobHistory Web 应用程序 HTTPS 端口 (TLS/SSL) | ||
10033 | MapReduce JobHistory Server 管理接口端口 |
Hive | 3306 | Hive Metastore 数据库的端口 |
9083 | Hive Metastore 服务器监听连接的端口 | |
10000 | HiveServer2 监听连接的端口 | |
10002 | HiveServer2 WebUI 将侦听的端口 | |
50111 | WebHCat Server 用于监听连接的端口 |
Hbase | 20050 | HBase REST Server 绑定的端口。 |
8085 | HBase REST Server Web UI 绑定到的端口。 | |
9090 | HBase Thrift 服务器绑定的端口。 | |
9095 | HBase Thrift 服务器 Web UI 绑定到的端口 | |
60000 | HBase Master 端口 | |
60010 | HBase Master Web UI 端口 | |
60020 | HBase Region Server 端口 | |
60030 | HBase Region Server Web UI 端口 |
ZooKeeper | 2181 | 客户端端口 |
3181 | 仲裁端口 | |
4181 | 选举端口 | |
9010 | JMX 远程端口 |