iptables防火墙

前言#

在早期的 Linux 系统中,默认使用的是 iptables 配置防火墙。尽管新型 的 firewalld 防火墙已经被投入使用多年,但是大量的企业在生产环境中依然出于各种原因而继续使用 iptables。考虑到 iptables 在当前生产环境中还具有顽强的生命力,我觉得还是有必要再好好地讲解一下这项技术。

iptables 是基于内核的防火墙,功能非常强大;iptables 内置了filternatmangle三张表。所有规则配置后,立即生效,不需要重启服务。

配置文件:

/etc/sysconfig/iptables


iptables 命令基本语法#

“iptables [-t table] command [链名] [条件匹配] [-j 目标动作]

command参数#

指定iptables 对我们提交的规则要做什么样的操作,以下是command常用参数:

  • -A

Append,追加一条规则(放到最后)

举例:iptables -A INPUT -j DROP #拒绝所有人访问服务器(作为最后一条规则)

  • -I

Insert,在指定的位置插入规则(忽略序号,放在最前面)

举例:iptables -I INPUT 2 -s 10.0.0.10 -j DROP #拒绝10.0.0.10访问服务器(作为第二条规则)
 

列出所有规则:#

举例:iptables -nL --line-number #带序号的规则列表

删除一条规则:#

举例:iptables -D INPUT 6 #删除序号为6的一条规则

允许一个IP访问:#

举例:iptables -A INPUT -s 192.168.1.1 -j ACCEPT #允许192.168.1.1访问所有协议的所有端口

允许一组IP访问:#

举例:iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT #允许192.168.1.0/24网段访问所有协议的所有端口

允许访问某个端口:#

举例:iptables -A INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口

允许一个IP访问某个端口:#

举例:iptables -I INPUT -s 10.0.0.10 -p tcp --dport 8075 -j ACCEPT

允许一组IP访问某个端口:#

举例:iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 8075 -j ACCEPT

自定义分组:#

举例:iptables -N white  #创建一个分组叫whit
iptables -A white -s 10.0.0.10 -j ACCEPT #在这个分组中加入10.0.0.10的允许权限
其实就是把INPUT改成自定义的分组名,常用的有whitelist,blacklist,黑白名单。

查看自定义分组的规则:#

举例:iptables -nL white --line-number  #带序号的white分组的规则

删除自定义分组的规则:#

举例:iptables -D white 1  #带序号的white分组的规则

删除自定义分组:#

举例:iptables -X   #删除规则为空的自定义分组

删除所有规则:#

举例:iptables -F   #删除规则为空的自定义分组(慎用,万一敲了,重启,别保存)

删除自定义分组规则:#

举例:iptables -F white   #删除规则为空的自定义分组

保存规则:#

虽然及时生效,但是重启就没了,测试正常后,保存一下。

举例:service iptables save

 #

作者:上官飞鸿

出处:https://www.cnblogs.com/jackadam/p/15929418.html

版权:本作品采用「知识共享-署名-非商业性-禁止演绎(CC-BY-NC-ND)」许可协议进行许可。

posted @   上官飞鸿  阅读(206)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示