iptables命令语法顺序
让内核开启某个功能支持
NEW:已经或将启动新的连接
ESTABLISHED:已建立的连接
RELATED:正在启动的新连接
INVALID:非法或无法识别的
iptables -nL 可以看到状态
1. 加一个测试规则,禁止本机的6379被访问
这里的规则添加,很容易就蒙圈了,执行前,想一想。。
危险操作,别瞎执行..
参数解释
-p #<==指定过滤的协议-p(tcp,udp,icmp,all)
--dport #<==指定目标端口(用户请求的端口)。
-j #<==对规则的具体处理方法(ACCEPT,DROP,REJECT,SNAT/DNAT)
--sport #<==指定源端口。
# 预测,执行后会怎么样?
iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
# 禁止52机器访问51机器(ens33网卡)
# 禁止除了10.0.0.53以外的ip访问本机的ens33
# 思考流量的走向
iptables -L
要作为第一个规则,就是-I
,-A是往后面追加写入规则
也就是,编写规则
所有机器,只允许61机器的22号端口流量进入,博客上的有误了,禁止了所有流量
只允许172.16.1.0/24网段访问本机的22 ,6379,80端口
利用-m multiport 指定多端口的模块
指定多个--dport
测试REJECT动作
测试DROP动作
1. 封禁10.0.0.51 访问本机
2.限制只有10.0.0.1可以ssh登录堡垒机
3. 封禁任何人访问本机6379
4.只允许走172内网,访问51机器的6379
5.只允许走172内网,访问51机器的6379 ,简写
iptables基本都是用于内网的流量控制了,不会用于对外的流量限制;
对公网的流量控制,一般都是硬件防火墙的事了。
以及在容器环境下的流量转发,也是生成iptables规则,因此这是学习本章的目的。
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -s 172.16.1.0/24 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -nL
实现效果,m-61作为上网网关出口,实现数据包转发
其他机器只有172局域网地址,网关指向m-61
根据流程图完成即可
按要求操作即可