Linux中iptables设置详细

发布时间:2026/9/14 15:41:18

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/11 1:48:44

高等数学笔记 C8-9

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

2026/9/13 6:22:33

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

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

2026/9/14 15:39:58

SEO优化实战:提升网站排名与流量的关键技术

1. 网站排名与流量提升的核心逻辑 在数字营销领域,SEO(搜索引擎优化)始终是企业获取自然流量的核心渠道。根据SimilarWeb最新数据,全球TOP50网站中,搜索引擎和社交媒体平台占据了绝对主导地位,这些平台的平…

2026/9/14 15:39:58

神秘数字9999999999987的传播机制与心理学分析

1. 项目背景与数字现象解析最近在多个社交平台上频繁出现一串神秘数字"9999999999987",这组看似随机的长数字串引发了广泛讨论。作为一名长期观察网络文化现象的数字内容研究者,我决定深入探究这组数字背后的含义和传播机制。这串数字最初出现…

2026/9/14 15:39:58

零代码后端开发实战:用XinServer快速搭建Web产品后端

很多人问我,Web 产品做了一半,后端始终没头绪,怎么办?我的建议通常是:先别急着去啃 Spring Boot,也别一上来就把 Node.js 的框架全家桶装一遍。如果你只是想快速把产品跑起来、把接口稳定交付给前端&#x…

2026/9/14 15:39:58

基于Vue框架的农家书屋小程序源码设计与借阅流转实现

简介:基于Vue框架的农家书屋小程序设计源码,定位于乡村阅读场景的数字化服务前端项目,适合小程序开发者、Vue初学者以及乡村振兴类产品设计者参考学习。资源包共含941个文件,压缩包为25.94MB,以248个JavaScript脚本、2…

2026/9/14 15:39:58

Docker 数据迁移:daemon.json 与 containerd 双目录方案

当你打开监控面板,发现 /var/lib/docker 已经用了 87%,第一反应是不是去网上搜“Docker 镜像路径迁移”?搜出来的答案十有八九都是同一句话:改 daemon.json,把 data-root 指到别处。这句话放到 Docker 29.x 上已经不够…

2026/9/14 15:34:58

构建 JDK 时 Boot JDK 版本怎么选?--with-boot-jdk 怎么配置

构建 JDK 时 Boot JDK 版本怎么选?--with-boot-jdk 怎么配置 【免费下载链接】jdk JDK main-line development https://openjdk.org/projects/jdk 项目地址: https://gitcode.com/GitHub_Trending/jd/jdk 用 OpenJDK 源码构建 JDK 时,configure 阶…

2026/9/14 2:17:50

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/14 0:03:22

KCF目标跟踪算法与OTB工程实现:毕业设计实战解析

简介:这是一份基于KCF核相关滤波算法、融合尺度池与抗遮挡处理的目标检测跟踪MATLAB完整源码,主要面向计算机相关专业准备毕业设计、课程设计或期末大作业的学生,也适合需要项目实战练习的初学者。源码在OTB数据集上完成验证,能够…

2026/9/14 0:03:22

语音情感识别实战:Keras实现LSTM、CNN、SVM与MLP多模型对比

简介:面向语音情感识别入门与进阶开发者,这份基于Keras的项目源码完整实现了LSTM、CNN、SVM、MLP四种模型,兼容Python3.8与Keras/TensorFlow2环境。压缩包内含49个文件,大小约70.31MB,主体包括Python脚本、yaml/json配…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

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

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

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