iptables 简单介绍及应用 Linux防火墙

iptables 即 Linux防火墙 的简单介绍及使用

iptables生效位置如下图:

  其中, 网络防火墙也可以使用一台启用了iptables的Linux主机代替; 路由器或集线器等设施在拓扑中省略了;

 

那么上图显示出了iptables在哪里, 下面说一下iptables的工作原理:

我们知道Linux中所有的数据包接收和发送都是在 内核 中完成的, 但是iptables并不是工作在内核中的, 那如何实现防火墙的功能?

iptables工作在用户空间, 并向工作在内核中的netfilter定义规则, 由netfilter来完成过滤数据包的功能; netfilter是内核提供的框架;

 

那么iptables是怎么指挥的呢? (iptables规则定义, 四表五链)

 

五链包括: INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING, 位置请参照上图, 如有不对请指正;

四表包括: filter  <-- nat <-- mangle <-- raw (有优先级顺序)

链表的功能实现: 

filter: 过滤: INPUT, FORWARD, OUTPUT
nat: PREROUTING (DNAT做目标地址转换), OUTPUT, POSTROUTING(SNAT, 目标地址转换) 
mangle: 拆解报文, 全部位置
raw: 连接追踪, PREROUTING, OUTPUT

  注意: 连接追踪是一件比较耗资源的事情, 一般情况下不要使用;

小结: iptables用四表五链来设定过滤报文的规则, 而netfilter则根据大哥设定的规则办事;

那么我们下面就简单描述一下iptables的命令应用:

iptables命令使用:

  iptables   [-t table]           SUBCOMMAND   CHAIN    CRETERIA     -j TARGET

              作用于哪个表              子命令                       匹配标准          处理动作

  -t table 省略时, 默认作用于filter

具体使用说明请查看 链接, 详细易懂 

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

我们列几个常用的:

  查看: iptables -L -n

  清空: iptables -F

  删除空的自定义链: iptables -X

  设定指定链的默认策略: iptables -P {INPUT | OUTPUT | ... } {DROP | ACCEPT | REJECT ... } 

 

我们假设你已经看过了 上面的链接, 并了解了 -s -d -p -i -o 这些选项的含义, 那么下面就举几个简单实例:

首先, 我们打开一台CentOS 7 的虚拟机, 使用 iptables -L -n 查看当前规则设定:

  注意: 如果发现规则比较多, 可以先禁用Firewalld, 并使用 iptables -F && iptables -X 清理, 然后再显示;

    备注: 禁用 firewalld 方法: systemctl disable firewalld

 

这时, 我们是通过 ssh 远程登陆到 Linux的, 那么我们首先要确保 ssh 登陆的 通过性, 换句话说, 就是, 开放 22 端口的INPUT和OUTPUT

# iptables -I INPUT -d 你的Linux的IP地址 -p tcp -dport 22 -j ACCEPT

# iptables -I OUTPUT -s 你的Linux的IP地址 -p tcp -sport 22 -j ACCEPT

接下来, 我们将 INPUT 和 OUTPUT 的默认策略改为 DROP

# iptables -P INPUT DROP

# iptables -P OUTPUT DROP

不出意外的话, 如果你的主机上有80端口提供web服务, 那么现在已经无法访问了; 为什么呢?

因为我们 DROP 掉了所有的包, 除了访问22端口的, 和从22端口响应出去的;

为什么我要先说明 开放22端口 呢? 因为我第一次设置的时候, 先改了INPUT的默认策略为DROP, 然后我就被自己锁在门外面了......

 

那么, 现在我需要让web服务能够访问:

# iptables -I INPUT -d 你的Linux的IP地址 -p tcp -dport 80 -j ACCEPT

# iptables -I OUTPUT -s 你的Linux的IP地址 -p tcp -sport 80 -j ACCEPT

 

那这样一来, 岂不是跟上面开放22端口一模一样, 只是换了个端口? 对, 就是换了个端口...

有没有办法能够一次搞定呢? 有:

# iptables -I INPUT -d 你的Linux的IP地址 -p tcp -m multiport --dports 22,80 -j ACCEPT

# iptables -I OUTPUT -s 你的Linux的IP地址 -p tcp -m multiport --sports 22,80 -j ACCEPT

 

-m 是什么呢?

显式扩展: 必须显式指明使用的扩展模块; 查看当前主机支持的扩展模块方法: rpm -ql iptables | grep "\.so"

有关显式扩展的文章

 

如何保存及重载规则:

保存规则至指定文件:
iptables-save > /root/iptables.1 存储当前防火墙规则

从指定文件重载规则:
iptables-restore < /root/iptables.1 读取并启用以保存的防火墙规则

 

上文提到过使用Linux做为网络防火墙来使用, 下面简单介绍下:

  • 准备: Linux主机四台, 一台做网络防火墙,配置两个网卡; 一台做外网主机; 两台做内网主机;
  • 网络防火墙主机: 一个网卡对内, 设置ip地址为 192.168.50.1/24; 一个网卡对外
  • 需要打开Linux的地址转发功能:
    • sysctl -w net.ipv4.ip_forward=1
    • cat /proc/sys/net/ipv4/ip_forward 为1
  • 内网主机: 添加 192.168.50.0/24 的任意一个地址
  • 外网主机: 添加路由规则 route add -net 192.168.50.0/24 gw 10.0.0.5 --> 注意此处用的是外网主机同一网段IP地址
  • 测试ping
  • 网络防火墙主机设置 iptables 的 FORWARD 链
    # iptables -P FORWARD DROP
    # iptables -I FORWARD -d 192.168.50.2 -p tcp --dport 80 -j ACCEPT --> 放行进来的
    # iptables -I FORWARD -s 192.168.50.2 -p tcp --sport 80 -j ACCEPT --> 放行出去的
  • 同时放行httpd和ssh服务
    # iptables -I FORWARD -m state --state ESTABLISHED -j ACCEPT
    # iptables -A FORWARD -d 192.168.50.2 -p tcp -m multiport --dports 22,80 -m state --state NEW -j ACCEPT

     

  • 外网主机需要访问内网ftp服务器怎么办?
    • 网络防火墙 完成上面的三步走
      # modprobe nf-conntrack_ftp --> 加载模块
      # iptables -R FORWARD 1 -m state --state RELATED,ESTABLISHED --> 添加RELATED规则
      # iptables -R FORWARD 2 -d 192.168.50.2 -p tcp -m multiport --dports 21,22,80 -m state --state NEW -j ACCEPT

       

总结: iptables的使用灵活多变, 稍显复杂, 但只要弄懂了原理, 再复杂的规则也经不起慢慢推敲;

 

转载于:https://www.cnblogs.com/gettolive/p/9215597.html

weixin_30451709
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 防火墙 iptables
weixin_67033761的博客
06-04 899
1
Linuxiptables防火墙应用教程
10-16
Linuxiptables防火墙的基本应用教程,简单明了,希望有用。
防火墙iptables简单使用
weixin_34301132的博客
04-07 67
规则定义 # service iptables start # chkconfig iptables on 想让规则生效,则shell命令行下执行 sh /bin/iptables.sh即可 [root@node3 ~]# cat /bin/iptables.sh #!/bin/bash # 清理防火墙规则 /sbin/iptables -F # 放行已经建立的连接 /...
iptables介绍简单应用!!!
weixin_33882443的博客
03-20 104
项目背景:为了我们主机的安全,我们需要对于软件防火墙iptables有较深的理解!实验环境:vmware workstation 11服务器A:ip:192.168.0.19服务器B:ip:192.168.0.25  SecureCRT (ssh远程连接软件)iptables-ipv6-1.4.7-11.el6.x86_64iptables-1.4.7-11.el6.x86_64软件简单图解介绍:...
iptables简单介绍
weixin_34074740的博客
03-31 69
iptables简单介绍什么是防火墙防火墙是工作在主机或网络边缘,能够对其所匹配到的报文根据事先定义好的规则作出相应处理的组件,可以是软件,也可以是硬件,还能软硬结合实现。UNIX/Linux防火墙的实现早期在openBSD通过内核的ipfw实现简单的数据报过滤功能、后来在Linux 2.2内核使用ipchains来取代,意为链、后来在Linux 2.4内核被i...
Linux防火墙——iptables原理介绍
匠人精神,持之以恒!
06-13 1264
从逻辑上讲,防火墙可以大体分为主机防火墙网络防火墙:从物理上讲,防火墙可以分为硬件防火墙和软件防火墙:硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。软件防火墙应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低。表:负责过滤功能,防火墙;内核模块:iptables_filter表: network address translation,网络地址转换功能;内核模块:iptable_nat表:拆解报文,做出修改,并重新封装 的功能;iptable_man
Linux防火墙——iptables以及firewalld的使用介绍
树下一少年的博客
01-22 2120
本文基于Linux上CentOS 7版本配合iptablesiptables-services、firewalld等服务进行演示 Linux防火墙——iptables以及firewalld的使用介绍 一.防火墙概念以及Netfilter机制介绍 二..iptables原理 三.firewalld(区域)简介 含端口转发
LinuxShell】linux防火墙iptables防火墙
一个萌新的博客
05-17 714
iptables防火墙增删改查等操作
Linux安全防火墙iptables配置策略
qq_51545656的博客
11-11 3901
这条规则将禁止192.168.1.0/24网段的访问,丢弃源地址的流量。可以使用类似的命令来添加更多规则到自定义链,根据需求进行配置。如果想要删除自定义链,确保满足以下条件:自定义链没有被任何默认链引用,即自定义链的引用计数为0。自定义链没有任何规则,即自定义链为空。可以使用-x示例自定义链使用自定义链添加:iptables -N custom(链名) 创建链自定义链改名:iptables -E custom(原来名称) ky29(新名称) 自定义链改名。
linux防火墙应用,Linux防火墙iptables基本应用
weixin_35891787的博客
05-14 80
iptables是一个linux的基础组件,主要应用防火墙应用,例如禁止某IP访问,或者禁止一些端口,提升网站的安全性。一般情况下,系统默认就会安装,如果没有安装,可自行安装。yum install iptables #centos系统apt-get install iptables #debian/ubuntu系统一、先说一下几个常用命令:service iptables -status #查...
Linux防火墙iptables的一个实例应用.pdf
09-06
Linux防火墙iptables的一个实例应用.pdf
Linux防火墙Netfilter-iptables扩展机制及应用研究.pdf
09-06
Linux防火墙Netfilter-iptables扩展机制及应用研究.pdf
Linux iptables防火墙深度理解与实战应用
10-17
Linux iptables防火墙深度理解与实战应用
Linux安全应用iptables防火墙.pptx
10-11
Linux安全应用iptables防火墙.pptx
Linux - 磁盘的分区和挂载
weixin_45735487的博客
05-27 778
逻辑分区只能在拓展分区上划分,编号5-15。拓展分区编号1-4,拓展分区不能格式化。rescue 恢复分区,对于误删的分区进行恢复,语法: rescue 起始 结束。rm 删除分区,后接要删除的分区编号。(L) 在主分区和拓展分区划分完之后,默认提示划分逻辑分区。n 进行磁盘分区,这里会默认MBR标签。(p) msdos下,会默认选择先划分主分区。
操作系统 - 输入/输出(I/O)管理
qq_56815564的博客
05-27 996
1、设备的分类I/O设备是指**可以将数据输入计算机的外部设备,或者可以接收计算机输出数据的外部设备**按信息交换的单位分类块设备。信息交换以**数据块为单位,如磁盘、磁带等磁盘设备的基本特征是传输速率较高、可寻址,即对它可随机地读/写任意一块**字符设备。信息交换以**字符为单位,如交互式终端机、打印机等它们的基本特征是传输速率低、不可寻址,并且时常采用断I/O方式**按设备的传输速率分类低速设备。传输速率仅为每秒几字节到数百字节,如键盘、鼠标等速设备。
linux服务器上使用tensorboard,错误记录
最新发布
wwwwzm的博客
05-30 759
1. 使用tensorboard命令时,不是从虚拟环境找tensorboard,而是从(全局路径)找(/home/ljx/.local/lib/python3.9/site-packages/tensorboard)是一个在 Unix-like 系统(包括 Linux 和 macOS)的命令行界面(如 Bash shell)使用的命令。2.使用which命令, 查看使用的tensorboard的路径,发现使用的是全局路径,不是虚拟环境路径。是一个特殊的变量,它定义了操作系统搜索可执行文件的目录。
操作系统】发展与分类(手工操作、批处理、分时操作、实时操作)
m0_61628700的博客
05-26 305
以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。计算机接收外部信息后及时处理,并要在严格时限内处理完事件,体现及时性和可靠性。引入脱机输入/输出技术,并由监督程序负责控制作业的输入输出。多道程序并发执行,共享计算机资源,利用率大幅提升。2.CPU等待手工操作,CPU利用不充分。硬实时操作系统——必须在严格时间内完成。缺点:用户响应时间长,没人机交换功能。软实时系统——能偶尔违反时间规定。手工操作阶段(此阶段无操作系统)批处理阶段(操作系统开始出现)优点:能优先响应紧急任务。
linux防火墙应用设计实际应用
05-29
在实际应用Linux防火墙通常使用iptables或nftables来实现。通过配置规则来控制数据包的流动,可以实现对网络流量的限制和过滤。防火墙可以通过设置规则来允许或拒绝特定的IP地址,端口或协议的数据包,从而保护...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Socket传输中文乱码 30655
  • 希尔密码 8398
  • Vue+SpringBoot+Mybatis的简单员工管理项目 6647
  • 陆港澳台正则 + 陆港澳台身份证+回乡证+台胞证+护照正则表达式,及 根据身份证号码,获取性别、获取生日、计算年龄、获取地址、获取生肖、获取星座... 6545
  • java判断string数组中是否包含某个元素 6510

最新文章

  • 总结&报告四1
  • 第五周总结&实验
  • 前端的请求到后端的方法
2019年801篇
2018年768篇
2017年709篇
2016年540篇
2015年439篇
2014年290篇
2013年259篇
2012年220篇
2011年156篇
2010年114篇
2009年91篇
2008年79篇
2007年45篇
2006年29篇
2005年22篇
2004年13篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

点石阅读2015年杨姓男宝宝起名芊字起名大全起个园林公司名子大全白酒涨价律政强人百度云连云港恒大名都春节祝福语简短优美店名吉凶生辰八字起名测名打分免费非主流唯美女生头像明起名字的女性化的公司起名19sss.com十宗罪3泸县地震最新消息时尚品牌起名北森ddr31333起个名字多少钱如何共享文件夹儿童玩具店起名模具管理武汉体育学院地址元卿凌宇文皓免费最新小学二年级日记个体户名称怎样起给姓彭的宝宝起人名7画有什么字起名电视剧特殊使命第一色影院歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

点石阅读 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化