目录
iptables 工具名称:是用来控制内核的
内核包含了以下四种控制功能:(优先级从高到低排序)
raw表 流量跟踪 PREROUTING OUTPUT(链:就是写ACL的地方,一般链名要大写)
mingle表 流量整形 PREROUTING INPUT FORWORD OUTPUT POSTROUTING
nat表 网络地址转换 PREROUTING POSTROUTING OUTPUT
filter表 过滤 INPUT FORWORD OUTPUT
重点就是学filter表的INPUT链
iptables -nvL (或者写iptables -t filter -nvL)
iptables -t nat -nvL
iptables -t filter -I INPUT -p tcp --dport 5901 -j ACCEPT(如果是DROP是丢弃)
iptables -t -I POSTROUTING -p all -s 192.16.1.0/24 -o eth1 -j SNAT --to-source 10.0.105.99
filter表中用的最多的就是INPUT链和FORWORD链
INPUT链代表数据包访问我的时候是否允许访问
iptables包过滤与网络地址转换
Linux包过滤防火墙概述
netfilter
位于Linux内核中的包过滤功能体系
称Linux防火墙的“内核态”
iptables
位于/sbin/iptables,用来管理防火墙规则的工具
称为linux防火墙的“用户态”
上述两种称呼都可以表示Linux防火墙
iptables的基本语法
INPUT后面跟一个数字,表示精确的将这条规则添加到某行
iptables -I INPUT -p icmp -j ACCEPT
iptables -I INPUT -p icmp -j REJECT
iptables -I INPUT -p icmp -j DROP 丢弃
删除规则(删除的选项的-D)
iptables -D INPUT 1(写1就是删除第一条规则)
iptables -D INPUT 1(再写一遍这个命令就是删除第二条,删完第一条,第二条就顶上去当第一条了)
KALI是不会开防火墙的
iptables的管理选项
我怎么知道规则有几行?
iptables -nvL --line-numbers(显示行号)
最好加选项的时候写-nvL,否则看的太精简,会有误导
没有REJECT
默认策略优先级最低
iptables规则的匹配条件
除了通用匹配其他都不能单独用
常见的通用匹配条件
!是取反的意思
常用的隐含匹配条件(要写通用匹配才能使用)
20:21 表示20端口到21端口
常用的显示匹配条件
把-m理解为调用模块
vsftpd
very security ftp非常安全的ftp(其实一点都不安全)
案例:
ftp 21端口是监听,20端口是用来传数据的,20端口属于主动模式
1、装一个ftp,在linux里面叫vsftpd
yum install vsftpd
2、vsftp默认的共享目录在/var/ftp/pub/
cp /etc/passwd /etc/shadow /var/ftp/pub/
3、启动服务: /etc/init.d/vsftpd start
4、观察端口ss -antpl | grep ftp
5、iptables -I INPUT -p tcp --dport 21 -j ACCEPT
6、拿真实机win10来验证一下
7、iptables -nvL
8、现在想把第二条规则删了
iptables -D INPUT 2
打开win10再连接,连接后输入dir
pasv是被动模式
9、解决:iptables -I INPUT -p tcp --dport 22 -j ACCEPT