1. iptables是什么
Linux上面的防火墙,内核版本为2.4\2.6的都会有,查看内核版本的命令是:cat /pro/verseion
。
2. iptables的特性
自上而下的匹配原则:进入的流量,一旦匹配到第一条规则就会停止往下匹配。iptables -A INPUT -p tcp --dport 3306 -j DROP
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
此时,如果telnet 192.168.132.194 3306
,这样是进不去的,因为已经匹配到了第一条规则。
3. 常用iptables参数
待添加
4. C2安全之iptables常用命令
4.1 只允许常用IP段登录ssh
1 | iptables -A INPUT -p tcp -s 102.90.212.0/24 -j ACCEPT |
4.2 只允许特定IP段回连8089
1 | iptables -A INPUT -p tcp -s 113.191.0.0/16 --dport 8089 -j ACCEPT |
4.3 端口转发
4.3.1 转发到远程机器
目的:访问192.168.1.2:80 –>20.20.20.20:3389。访问192.168.1.2的80相当于访问20.20.20.20的3389端口
从这里学习到:https://www.zhangguangtong.cn/?p=83
1 | echo 1 > /proc/sys/net/ipv4/ip_forward #kali 2020不能执行这个命令哦 |
4.3.2 转发到本地其他端口
比如有些端口只能本机访问,也不知道这个方法能不能绕过这个限制,因为我没有了解透iptables。
目的:访问20.20.20.20:822 –>20.20.20.20:22.
1 | echo 1 > /proc/sys/net/ipv4/ip_forward #kali 2020不能执行这个命令哦 |
5. 删除chain
sudo iptables -F
清除所有规则
5.1【单条】直接删除
如:
现有一条添加好的chain
1 | sudo iptables -A INPUT -p tcp -s 192.168.1.1/24 -j ACCEPT |
我们要删除它的话,就这样删除
1 | sudo iptables -A INPUT -p tcp -s 192.168.1.1/24 -j ACCEPT |
5.2【单条】根据–line-number
有很多规则之后,我们要删除其中的一条,又不想打长长的命令,就可以根据规则的所在行进行删除。
- 先获取行
- 再删除
1 | kali@kali:~$ sudo iptables -L -n --line-number |
1 | kali@kali:~$ sudo iptables -D INPUT 2 |
6. 从这学习
https://www.cnblogs.com/liang2580/articles/8400140.html
https://www.cnblogs.com/zclzhao/p/5081590.html
https://www.cnblogs.com/askDing/p/5111277.html