iptables为什么需要增加loopback回环的规则
先说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://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回环的规则的更多相关文章
- SharePoint回环检查(Loopback Check)相关问题
Loopback Check(回环检查)本来不是一个SharePoint问题,是Windows Server为了增强自身安全性在Server 2003 SP1后引入的一个功能, 在近几个月中导致了一系 ...
- loopback(回环)
Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1. TCP/IP协议栈中的loopback接口 在TCP/IP中回环设备是一个通过软件实现的虚拟网络接口,它不与任何硬件相 ...
- Linux回环接口(loop-back/loopback)
回环接口(loop-back/loopback) Moakap整理 Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1. TCP/IP协议栈中的loopback接口 在TCP ...
- Linux回环接口-----(loop-back/loopback)
回环接口(loop-back/loopback) Moakap整理 Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1. TCP/IP协议栈中的loopback接口 在TCP ...
- CentOS7 增加回环地址
添加回环地址的命令和说明如下: #添加一个回环地址到lo网卡,添加多个可以改lo:后边的序号 [要添加的地址] netmask 255.255.255.255 broadcast [要添加的地址] # ...
- linux回环网卡驱动设计
回环网卡驱动 1.回环网卡和普通网卡的区别是他是虚拟的不是实际的物理网卡,它相当于把普通网卡的发送端和接收端短接在一起. 2.在内核源代码里的回环网卡程序(drivers/net/loopback.c ...
- 为什么不能将客户端的连接请求跳转或转发到本机lo回环接口上?
一.为什么不能将本机的请求跳转/转发到回环接口上? 如上图一样,服务器对外只开放了一个80端口,但是web服务监听在了lo 接口上8080端口上,现在要实现外网通过访问服务器的80端口,来提供web服 ...
- 为UWP应用开启回环访问权限
最近在项目中遇到UWP调用WCF的需求,考虑到UWP不能寄宿WCF服务(如果能,或者有类似技术,请告知),于是写了一个WPF程序寄宿WCF服务,然后再用UWP调用服务. 写的时候并没有碰到什么问题,直 ...
- wireshark抓本地回环包
问题描述: 在网络程序开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信.但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以 方法一:Wi ...
随机推荐
- uva11610 树状数组+素数打表求因子,好题!
/* uva11610 树状数组+素数打表+离散化 打出的素数范围在2-1000000之间,不超过六位数,然后按照格式翻转成七位数 */ #include<bits/stdc++.h> u ...
- 兼容IE8以下,获取className节点的元素(document.getElementsByClassName()兼容写法)。
因为ie8一下不兼容 document.getElementsByClassName() 功能:通过class的名字获取符合条件的元素 ...
- python 全栈开发,Day100(restful 接口,DRF组件,DRF跨域(cors组件))
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确.方便快速开发 - 针对pc,手机,ipad,微信,支付宝... 使用同一个接口 2. 简述http协议? - 基 ...
- python 全栈开发,Day21(抽象类,接口类,多态,鸭子类型)
一.昨日复习 派生方法和派生属性 super 只有在子父类拥有同名方法的时候, 想使用子类的对象调用父类的方法时,才使用super super在类内 : super().方法名(arg1,..) 指名 ...
- select 禁止 选择
禁止select控件選擇 大家知道, 對於HTML控件select, 是沒有readOnly屬性的,所以設置它並不起作用,如: <select id="select1" re ...
- 【C++ Primer 第11章】4. 无序容器
一.介绍 1. Hashtable和bucket 由于unordered_map内部采用的hashtable的数据结构存储,所以,每个特定的key会通过一些特定的哈希运算映射到一个特定的位置,我们知道 ...
- Android Studio之导出JavaDoc出现编码GBK的不可映射字符
使用Android Studio导出JavaDoc时,如果在注释中添加了中文,生成时的时候会出现错误: 编码GBK的不可映射字符. 解决的办法是在Other command line argument ...
- Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- (转)Java按指定行数读取文件
package test import java.io.File; import java.io.FileReader; import java.io.IOException; import java ...
- centos7 安装步骤
这里选择64位 32位没有找到网卡... 注:这里是网络类型分配,网络类型分配分为三种,Bridge,NAT和Host-Only,大概区别是 1 BRIDGE 桥接:相当于主机和虚拟机连接到同一个h ...