先说loopback回环的大致个人理解:

1、lo的主要作用是基于本地访问本地的数据包会经过lo这张网卡。

2、比如ping 127.0.0.1时,你在eth0抓不到,只能在lo这张网卡捕获。

再来看下简单的iptables的几个链的规则:

  • PREROUTING:在做出路由决策之前,数据包将进入此链。
  • INPUT:数据包将在本地交付。它与打开套接字的进程没有任何关系; 本地交付由“本地交付”路由表控制:  ip route show table local
  • FORWARD:所有已路由但不用于本地传递的数据包将遍历此链。
  • OUTPUT:从机器本身发送的数据包将访问此链。
  • POSTROUTING:路由决定已经做出。数据包在将它们交给硬件之前进入该链。

那么下面来看下为什么需要再iptables增加lo的访问:

1、如果我们在iptables设置了防火墙,一般防火墙会放在默认规则里面:iptables -P INPUT DROP,注意这里的-P是默认规则的意思,顺序在最后,且链表为filter。

2、那么如果要能在本机可以ping通本机,那么需要将lo的访问规则打开:iptables -A INPUT -i lo -j ACCEPT

3、通过上面可以看出,iptables做防火墙的特性,不需要指定非默认规则,默认规则对于iptables来说是最后才执行,但凡有一个匹配到就不往下执行,所以此时ping本机可以通。

4、在网上很多只是增加了这两条规则:

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

而没有真正说明为什么要这样加,其实这样加主要还是因为限制的防火墙规则后这两台才生效。

5、很多情况是在转发上会用到,其实如果不增加防火墙规则时,这一点的意义不太大。

6、所以,只要是本机进程内相互访问的,都会去到lo这张网卡上,所以在外部IP时对于iptables选择的是eth0这样的网卡,要捕获本机时是lo这个网卡。

参考:

https://unix.stackexchange.com/questions/81107/why-must-loopback-traffic-be-authorized-using-iptables-to-get-web-access

https://crm.vpscheap.net/knowledgebase.php?action=displayarticle&id=29(这个文章介绍了开头会增加默认规则限制全部请求,也验证了后续为什么需要增加lo的放行)

https://unix.stackexchange.com/questions/395328/iptables-rule-for-loopback?answertab=votes#tab-top

iptables为什么需要增加loopback回环的规则的更多相关文章

  1. SharePoint回环检查(Loopback Check)相关问题

    Loopback Check(回环检查)本来不是一个SharePoint问题,是Windows Server为了增强自身安全性在Server 2003 SP1后引入的一个功能, 在近几个月中导致了一系 ...

  2. loopback(回环)

    Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1.  TCP/IP协议栈中的loopback接口 在TCP/IP中回环设备是一个通过软件实现的虚拟网络接口,它不与任何硬件相 ...

  3. Linux回环接口(loop-back/loopback)

    回环接口(loop-back/loopback) Moakap整理 Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1. TCP/IP协议栈中的loopback接口 在TCP ...

  4. Linux回环接口-----(loop-back/loopback)

    回环接口(loop-back/loopback) Moakap整理 Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1. TCP/IP协议栈中的loopback接口 在TCP ...

  5. CentOS7 增加回环地址

    添加回环地址的命令和说明如下: #添加一个回环地址到lo网卡,添加多个可以改lo:后边的序号 [要添加的地址] netmask 255.255.255.255 broadcast [要添加的地址] # ...

  6. linux回环网卡驱动设计

    回环网卡驱动 1.回环网卡和普通网卡的区别是他是虚拟的不是实际的物理网卡,它相当于把普通网卡的发送端和接收端短接在一起. 2.在内核源代码里的回环网卡程序(drivers/net/loopback.c ...

  7. 为什么不能将客户端的连接请求跳转或转发到本机lo回环接口上?

    一.为什么不能将本机的请求跳转/转发到回环接口上? 如上图一样,服务器对外只开放了一个80端口,但是web服务监听在了lo 接口上8080端口上,现在要实现外网通过访问服务器的80端口,来提供web服 ...

  8. 为UWP应用开启回环访问权限

    最近在项目中遇到UWP调用WCF的需求,考虑到UWP不能寄宿WCF服务(如果能,或者有类似技术,请告知),于是写了一个WPF程序寄宿WCF服务,然后再用UWP调用服务. 写的时候并没有碰到什么问题,直 ...

  9. wireshark抓本地回环包

    问题描述: 在网络程序开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信.但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以 方法一:Wi ...

随机推荐

  1. 集成Struts2+Spring+Hibernate_两种方案

    集成Struts2+Spring+Hibernate 第一种方案:让Spring创建Struts2的Action,不让Spring完全管理Struts2的Action      Struts2 Act ...

  2. 安装xcache3.0.3/3.2,为php加速

    安装xcache,为php加速 1.安装 # tar xf xcache-3.0.3.tar.bz2  # cd xcache-3.0.3 # /usr/local/php/bin/phpize # ...

  3. .netcore 整合 log4net

    1.背景 前两天,曾经的一个同事咨询我,怎样将log4net以中间件的形式整合到core里边去.我不假思索的回答,这种问题应该有人做过吧,他说没有.于是,我去博客园搜了下,发现还真没有,全部都是传统. ...

  4. vue-router两种模式,到底什么情况下用hash,什么情况下用history模式呢?

    转:https://segmentfault.com/q/1010000010340823/a-1020000010598395 为什么要有 hash 和 history 对于 Vue 这类渐进式前端 ...

  5. 教你构建好 SpringBoot + SSM 框架

    来源:Howie_Y https://juejin.im/post/5b53f677f265da0f8f203914 目前最主流的 java web 框架应该是 SSM,而 SSM 框架由于更轻便与灵 ...

  6. eclipse 更换主题

    更换系统自带主题 依次点击 window->preferences->General->Appearance->Theme 选择主题 下载eclipse marketplace ...

  7. python3 + selenium 之元素定位

    8种定位方式 定位一个元素 webdriver提供了一系列的对象定位方法,常用的有以下几种 driver.find_element_by_name()--最常用,简单 driver.find_elem ...

  8. django 2中的app_name和namespace

    最近看<精通DJANGO>里遇到的疑惑. 简书URL如下: https://www.jianshu.com/p/404500a0408a 其中的官方解释: 应用命名空间 它表示正在部署的应 ...

  9. 【AtCoder】ARC078

    C - Splitting Pile 枚举从哪里开始分的即可 #include <bits/stdc++.h> #define fi first #define se second #de ...

  10. Go 语言 IDE 之 VSCode 配置使用

    Gogland 是 JetBrains 公司推出的 Go 语言集成开发环境.Gogland 同样基于 IntelliJ 平台开发,支持 JetBrains 的插件体系.官方:https://www.j ...