Linux 中IP隧道模块浅析

2017-12-01  本文已影响555人  JSON_NULL

在做LVS实验,部署VS/TU模式时,遇到一个配置 ifconfig tunl0 $ip_address $netmask up。对网卡 tunl0有疑惑,在网上找了半天也没有找到相关的绍介。通过阅读Linux下的IP隧道相关文章,并做实验才得到了本文中的结论。如果您发我的理解错了,请在评论区指正。

IP隧道技术

隧道技术:是路由器把一种网络层协议封装到另一个协议中以跨过网络传送到另一个路由器的处理过程。
IP 隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation)。

Linux内核模块对IP隧道的支持

注:此部分内容借鉴于互联网

Linux系统内核实现的IP隧道技术主要有三种(PPP、PPTP和L2TP等协议或软件不是基于内核模块的):ipip、gre、sit 。这三种隧道技术都需要内核模块 tunnel4.ko 的支持。

由内核模块虚拟的网卡

Linux中对IP隧道提供支持的三个模块ipip、GRE、sit在内核空间生成了三个虚拟网卡。他们的对应关系如下:

内核模块 虚拟网卡
ipip tunl0
GRE gre0
sit sit0

在默认情况下这三个网卡是不可见的,就算你使用ifconfig -a指令也无法发现它们。但当你需要时,你可以直接使用ifconfig 指令对他们进行配置。

ifconfig tunl0 $ip_addr $network ……

使用ifconfig 指令配置后,同时也激活了对应的虚拟网卡,再使用ifconfig -a就可以看到了。

Liunx内核中的虚拟网卡
上一篇 下一篇

猜你喜欢

热点阅读