Linux中iptables设置详细

发布时间:2026/10/2 23:42:27

Linux中iptables设置详细 无论如何iptables是一个需要特别谨慎设置的东西万一服务器不在你身边而你贸然设置导致无法SSH那就等着被老板骂吧呵呵。。。1.首先介绍一下指令和相关配置文件启动指令:service iptables start重启指令:service iptables restart关闭指令:service iptables stop然后是相关配置:/etc/sysconfig/iptables如何操作该配置呢vim /etc/sysconfig/iptables然后进去修改即可修改完了怎么办这里很多人会想到/etc/rc.d/init.d/iptables save指令但是一旦你这么干了你刚才的修改内容就白做了。。。具体方法是只修改/etc/sysconfig/iptables 使其生效的办法是修改好后先service iptables restart然后才调用/etc/rc.d/init.d/iptables save因为/etc/rc.d/init.d/iptables save会在iptables服务启动时重新加载要是在重启之前直接先调用了/etc/rc.d/init.d/iptables save那么你2.下面介绍一些指令用法主要还是man iptables看下相关资料才行-A指定链名-p指定协议类型-d指定目标地址--dport指定目标端口destination port 目的端口--sport指定源端口source port 源端口3.如果我不像修改文件直接打命令可以吗当然没问题步骤如下:例如我给SSH加放行的语句添加input记录 iptables -A INPUT -p tcp --dport 22 -j ACCEPT添加output记录 iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT4.接下来说明一下步骤如果机器不在我身边我只能SSH进去做iptables规则那么我必须注意每一步千万别搞错了否则就SSH链接不上都有可能1.如果SSH端口是22这里不建议用默认端口最好改掉SSH端口iptables -A INPUT -p tcp --dport 22 -j ACCEPTiptables -A OUTPUT -p tcp --sport 22 -j ACCEPT注意要/etc/rc.d/init.d/iptables save以下每一步都最好执行一遍此语句以下不再累述。2.vim /etc/sysconfig/iptables确定是否已经加入配置可以的话执行service iptables restart重启后生效3.下面是很危险的操作如果你第一步没做就会直接可能导致你连不上SSH此步骤前切记执行第一步iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP这个步骤是把所有不符合自己配置的规则ACCEPT的连接全部DROP掉执行完以后如果咱SSH还没掉那么谢天谢地安全了重启下iptables后继续下面的配置4.下面咱就不细说了具体就是看自己服务器要开放哪些端口或者是要访问哪些端口来做具体的配置下面是我自己的机器的配置/etc/sysconfig/iptables文件配置如下:# Generated by iptables-save v1.4.7 on Fri Mar 2 19:59:43 2012*filter:INPUT DROP [0:0]:FORWARD DROP [0:0]:OUTPUT DROP [8:496]-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT#ping使用的端口-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT-A INPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT#允许服务器自己的SSH对外部请求来说服务器是目标所以使用--dport-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT#80端口不用说了吧服务器网站访问端口-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT-A INPUT -p tcp -m tcp --dport 11211 -j ACCEPT-A INPUT -p tcp -m tcp --dport 11212 -j ACCEPT-A FORWARD -j REJECT --reject-with icmp-host-prohibited#53端口是DNS相关TCP和UDP都要配置-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT-A INPUT -p udp -m udp --dport 53 -j ACCEPT#ping使用的端口-A OUTPUT -p icmp -j ACCEPT-A OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT-A OUTPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT#允许服务器SSH到其他机器使用外部端口就使用--dport-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT#允许服务器自己的SSH自已为源输出就使用--sport-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT#访问外部网站80端口使用外部端口就使用--dport-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT#如果服务器需要访问外部网站那么OUTPUT也需要配置53端口使用外部端口就使用--dport-A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT#如果有访问外部邮箱那么打开邮箱相关端口使用外部端口就使用--dport-A OUTPUT -p tcp -m tcp --dport 465 -j ACCEPT-A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT-A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT#服务器网站访问端口自已为源输出就使用--sport-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT-A OUTPUT -p tcp -m tcp --sport 3306 -j ACCEPT-A OUTPUT -p tcp -m tcp --sport 11211 -j ACCEPT-A OUTPUT -p tcp -m tcp --sport 11212 -j ACCEPTCOMMIT5.可能有时候需要删除规则最简单就是修改一下/etc/sysconfig/iptables然后service iptables restart,最后/etc/rc.d/init.d/iptables save即可。在网上找了一下删除规则的方法语法是 iptables -D chain rulenum [options]其中 chain 是链的意思就是INPUT FORWARD 之类的rulenum 是规则的编号。从1 开始。可以使用 --line-numbers 列出规则的编号所以例如上面要删除一个INPUT链的规则的话可以这样iptables -D INPUT 3意思是删除第3条规则。还有第二种方法。第二种办法是 -A 命令的映射不过用-D替换-A。当你的链中规则很复杂而你不想计算它们的编号的时候这就十分有用了。也就是说你如何用iptables -A.... 语句定义了一个规则则删除此规则时就用 -D 来代替- A 其余的都不变即可。说一下上面的 --line-numbers 选项如下面的命令iptables -L INPUT --line-numbers 列出INPUT 链所有的规则num target prot opt source destination1 REJECT tcp -- anywhere anywhere tcp dpt:microsoft-ds reject-with icmp-port-unreachable2 REJECT tcp -- anywhere anywhere tcp dpt:135 reject-with icmp-port-unreachable3 REJECT tcp -- anywhere anywhere tcp dpt:netbios-ssn reject-with icmp-port-unreachable......删除指定行规则6.最后补充一下如果想针对某IP进行单独开放端口可以如下配置如果我需要对内网某机器单独开放mysql端口应该如下配置iptables -A INPUT -s 192.168.2.6 -p tcp -m tcp --dport 3306 -j ACCEPT7.彻底禁止某IP访问:#屏蔽单个IP的命令是iptables -I INPUT -s 123.45.6.7 -j DROP#封整个段即从123.0.0.1到123.255.255.254的命令iptables -I INPUT -s 123.0.0.0/8 -j DROP#封IP段即从123.45.0.1到123.45.255.254的命令iptables -I INPUT -s 124.45.0.0/16 -j DROP#封IP段即从123.45.6.1到123.45.6.254的命令是iptables -I INPUT -s 123.45.6.0/24 -j DROP指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置因此用屏蔽因为必须在一开始就要加载屏蔽IP所以必须使用I命令加载然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可
延伸阅读

更多相关文章

2026/9/20 9:06:53

高等数学笔记 C8-9

八、线性代数 - 向量向量:n个独立的对象,线性。向量a-> xiyjzk有方向,有长度,叫做矢量。区别于标量。维数相同的才能加减法,平行四边形法则。向量的数量积(内积、点积),变成了一…

2026/10/2 17:12:15

Python量化交易终极指南:如何用pyctp快速搭建专业交易系统

Python量化交易终极指南:如何用pyctp快速搭建专业交易系统 【免费下载链接】pyctp ctp wrapper for python 项目地址: https://gitcode.com/gh_mirrors/pyc/pyctp 你是否曾梦想用Python构建自己的量化交易系统,却被复杂的CTP接口吓得望而却步&…

2026/10/3 3:45:06

paperclip 实战:用 React 模式构建轻量级 AI Agent 框架

1. 从“paperclip”这个名字说起:它到底想解决什么问题第一次看到paperclip这个项目名,我脑子里蹦出来的画面是那个经典的办公小物件——回形针。它不起眼,但几乎每个人的桌上都有一枚,用来把散落的纸张别在一起。放到软件语境里&…

2026/10/3 3:45:06

SQL表设计、管理、性能优化与特殊场景实战全解

SQL表相关的活儿,说难不难,说简单也真不简单。我这些年看了太多项目,表结构设计得乱七八糟,慢查询遍地都是,一个简单的去重需求都能写出四五种错误版本。这篇文章我不打算写成一本SQL大全,那没意思&#xf…

2026/10/3 3:45:06

openrig 配置编排:用 YAML 统一接入 Claude Code 与 Codex

1. openrig 到底是个什么东西第一次看到 openrig 这个名字,我下意识以为是某个硬件机架项目,毕竟 rig 在英文里就是“装配、机架”的意思。但翻了一圈社区讨论和热词关联之后才反应过来,这其实是一个围绕 AI 编程助手做统一接入与编排的开源工…

2026/10/3 3:45:06

Open-Shell 完全指南:让 Windows 11 开始菜单回归经典与高效

Windows 11 的原生开始菜单让我这个从 Windows 7 时代过来的人憋屈了很久——没有磁贴分类、没有一键展开所有程序、右键菜单还得再多点一层。后来接触到 Open-Shell(很多人也直接拼成 OpenShell),这套开源工具才算把 Windows 的桌面体验拉回…

2026/10/3 3:45:06

从零手搓AI工程:PyTorch模型训练与推理优化实战

1. 从零手搓AI工程:为什么我不建议你直接调包很多人一听到“AI工程”这四个字,第一反应就是打开某个云平台,拖几个组件,调几个API,然后跑通一个Demo,就觉得自己已经掌握了。我刚开始也是这么想的&#xff0…

2026/10/3 3:40:05

Agent记忆系统实战:从三层记忆架构到Docker部署与MCP集成

1. 从“hindsight”这个词说起:为什么记忆是Agent落地的最后一公里“hindsight”这个词本身很有意思,字面意思是“事后的洞察力”,也就是我们常说的“后见之明”。把这个词用在一个Agent项目上,指向性其实非常明确:它要…

2026/10/2 8:16:46

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/2 18:20:53

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 0:04:31

国内大学生必备的AI写作辅助软件是哪款?

国内高校学生在论文写作过程中,越来越依赖AI辅助工具提升效率,主流方案以本土化全流程工具为核心,结合通用大模型与专业插件,覆盖选题构思、框架搭建、初稿撰写、查重降重、格式调整等关键环节,本文将深入解析当前主流…

2026/10/3 0:04:31

Codex接入Jev模型完整指南:配置方法、本地部署与踩坑排查

最近不少人在讨论 Codex 搭配 Jev 这套玩法,我一开始没太当回事,直到自己把 Jev 接进 Codex跑了几轮编码任务之后,才明白那些说“直接起飞”的人是怎么想的。Codex 作为工具本身已经够能打了,但模型固定、上下文策略固定&#xff…

2026/10/3 0:04:31

GitHub 热门: NVIDIA/Model-Optimizer

👋 Hi,我擅长 AI 大模型应用落地、意识解码与 AI 开发工具链 。 💡 创业路上,用技术换时间,一起把 AI 变成生产力 🚀 >GitHub 热门: NVIDIA/Model-Optimizer 凌晨两点,你刚把跑通了的 Qwen3.…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑