当前位置: 首页 > news >正文

linux centos 防火墙设置

最近两周都在搞写iptables设置的脚本,就总结一下,适合初学者看看。有大牛经过的话欢迎指正,毕竟偶还是菜鸟一只。。。这里只总结了常用的一些内容,如果想查看完整的,请访问:鸟哥的私房菜 或 http://www.linuxdw.com/netweb/iptables.htm#iptablessyntax

linux在2.4以后的内核中防火墙用的都是netfilter/iptables,可以实现防火墙,NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部(目前没去了解啥东东),iptables则是用户定义规则集的表结构,就是一条条规则来进行限制。

iptables的表有三个:filter、nat、mangle,最常用的是filter(另外两个还没用过,据很多教程都说mangle几乎不会用到),一般的防火墙设置,貌似filter就够了。

一、启动与停止

  服务启动命令:service iptables start

  服务启动命令:service iptables stop

  服务状态查看命令:service iptables status(下面还有另外一种查看方式)

  

  table——表名

  chain——列名

  下面即为规则,num——规则号;target——处理动作;prot——协议名(如tcp、udp、icmp)opt——选项;source——源地址;destination——目标地址

二、设置

iptables一般设置步骤:

1.清除原先设置:

iptables -F  清除filter表中所有规则

iptables -X  清除filter表中所有用户自定义的规则

iptables -Z  清零所有规则的计数和流量统计

2.添加自己的规则:

(1)设定默认规则,即默认的处理方式ACCEPT,DROP,REJECT

一般比较安全的话如下设置(如果有特殊要求,按自己的要求设置呗^_^):

iptables -P INPUT DROP     对进入的封包设置默认动作——忽略

iptables -P FORWARD DROP  对转发的封包设置默认动作——忽略

iptables -P OUTPUT ACCEPT  对本机发出去的包设置默认动作——允许

(2)添加自己的规则

iptables [-t table] command [match] [-j target/jump]

[table]   即所用的表filter/nat/mangle

[command](只列出常用的):

-L  查看当前规则链的所有规则,可加-n选项,省去hostname与IP的翻译,速度较快

例:  iptables -L -n

-A  添加一条新的链,将会添加到所有规则链的最后

例:  iptables -A INPUT -p tcp

-D  删除一条规则

例:可以列出规则的全部内容,如 iptables -D INPUT -p tcp

    也可以只列出规则号,如 iptables -D INPUT 1   即删除filter表中的编号为1的规则

  注:规则的编号,可以用service iptables status查看,其中的项num即为规则编号。

    

[match]  匹配规则(:-(这个好长的说。。。。俺在此偷懒,只写俺用过的吧= -)

-p  协议名

-s  源地址

-d  目标地址

--sport  源端口

--dport  目标端口

[此处省略N个字]……

[-j target]    处理动作

ACCEPT  对封包放行,进行完此处理动作后,将不再匹配其它规则,直接跳往下一个规则链

DROP   对封包忽略,不采取任何动作,匹配该规则之后直接停止过滤程序

REJECT  对封包拒绝,并通知对方,可用选项有ICMP port-unreachable、ICMP echo-reply 或是tcp-reset(这个封包会要求对方关闭 连接),进行完此处理动作后,将不再匹配其它规则,直接中断过滤程序。

三、保存与恢复

  1.如果你只输入命令不保存的话,下次启动iptables又会恢复原来的设置(这与配置文件iptables-config有关)。因此,如果想之后都用自己的设置,就要对设置进行保存。

   iptables规则可以保存至自己任意指定的文件:iptables-save > /your/iptables/file

     恢复的时候用命令:iptables-restore < /your/iptables/file

  2.不过,默认是保存在文件/etc/sysconfig/iptables中的,可以查看该文件cat /etc/sysconfig/iptables

# Generated by iptables-save v1.3.5 on Sun Jul 31 08:21:53 2011

*filter   ——*开头的是表名

:INPUT ACCEPT [211:14330]     ——:开头的是链

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [341:30516]

COMMIT

# Completed on Sun Jul 31 08:21:53 2011

四、碰到的问题,或者叫【说明】

1.偶用的系统是centos5.5,精简版的哦,亲!

地址:http://dl.wdlinux.cn/taxonomy/term/3

2.安装过程中,偶选的是不开启防火墙。如果这样的话,未开启防火墙的时候是不能查看iptables的status的

3.与iptables有关的几个文件(查看/etc/init.d/iptables可查看iptables的代码)

/proc/net/ip_tables_names   里面放的是iptables的表名,stop的时候会检查该文件

/etc/sysconfig/iptables    保存iptables的规则的文件,没有该文件,iptables无法启动

/etc/sysconfig/iptables-config  iptables的配置文件,里面配置项比较关心的IPTABLES_SAVE_ON_STOP="no",即iptables关闭的时候不保存当前设置,同理IPTABLES_SAVE_ON_RESTART="no",可以自己更改这些配置项。

/var/lock/subsys/iptables  iptables的日志记录文件,start过程创建,stop的时候会删除。

这里再奉上一个大牛的总结—— http://blog.csdn.net/tianlesoftware/article/details/6208985

转载于:https://www.cnblogs.com/aaronwxb/archive/2011/08/12/2135833.html

相关文章:

  • 为什么要设置Java环境变量(详解)
  • 魔兽1.20E作弊内存地址全公开
  • windows下搭建eclipse+pyghon+pygame的开发环境
  • web.xml配置详解
  • MySQL分区
  • 学习.NET Framework相关经验总结概览
  • (转)nsfocus-绿盟科技笔试题目
  • JQuery上传插件Uploadify出现HTTP Error错误的解决办法
  • 如何清除局域网访问计算机的用户密码
  • htmlParser for delphi
  • ASP.NET显示农历时间
  • 多映射通用集合类(C#实现)--支持一键多值存储
  • 在 MonoTouch 中使用 Newtonsoft.Json
  • ubuntu札记之一个没有技术含量的虚拟终端的问题
  • ruby文件操作大全
  • ----------
  • [ JavaScript ] 数据结构与算法 —— 链表
  • [译]如何构建服务器端web组件,为何要构建?
  • docker python 配置
  • js数组之filter
  • Python中eval与exec的使用及区别
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • spring boot 整合mybatis 无法输出sql的问题
  • Vue实战(四)登录/注册页的实现
  • 阿里云购买磁盘后挂载
  • 第十八天-企业应用架构模式-基本模式
  • 关于Java中分层中遇到的一些问题
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 简单易用的leetcode开发测试工具(npm)
  • 聊聊flink的TableFactory
  • 栈实现走出迷宫(C++)
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​io --- 处理流的核心工具​
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2)STM32单片机上位机
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (六)vue-router+UI组件库
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)大型网站的系统架构
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET实现之(自动更新)
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @requestBody写与不写的情况
  • @SuppressWarnings(unchecked)代码的作用
  • @Transactional 详解
  • [ACTF2020 新生赛]Upload 1
  • [Android] Amazon 的 android 音视频开发文档