自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

redwingz的博客

Linux内核网络、虚拟化

  • 博客(11)
  • 资源 (5)
  • 收藏
  • 关注

原创 IPv6定时路由

内核版本要求高于4.4。如下设置路由时长为1200秒,当允许命令查看时,还剩余1151秒。# ip -6 route add 3302::/64 dev ens35 expires 1200 # # ip -6 route 3302::/64 dev ens35 metric 1024 expires 1151sec pref medium在内核部分,将下发的expires值转换为系统时钟值,并且设置RTF_EXPIRES标志位。static int rtm_to_fib6_config

2021-06-29 23:39:39 1000 2

原创 未缓存的IPv6路由项链表

内核将未缓存的IPv6路由项组成一个链表rt6_uncached_list,其为一个每处理器变量。struct uncached_list { spinlock_t lock; struct list_head head;};static DEFINE_PER_CPU_ALIGNED(struct uncached_list, rt6_uncached_list);在IPv6路由初始化函数中,初始化rt6_uncached_list链表头和自旋锁。int __i

2021-06-27 22:19:09 343 1

原创 未缓存的路由项链表

内核将未缓存的路由项组成一个链表rt_uncached_list,其为一个每处理器变量。struct uncached_list { spinlock_t lock; struct list_head head;};static DEFINE_PER_CPU_ALIGNED(struct uncached_list, rt_uncached_list);在路由初始化函数中,初始化rt_uncached_list链表头和自旋锁。int __init ip_rt_i

2021-06-22 22:35:52 348 2

原创 路由缓存信息文件rt_acct和rt_cache

PROC文件/proc/net/rt_acct和PROC文件/proc/net/stat/rt_cache。rt_acct 文件PROC文件/proc/net/rt_acct,基于路由的QoS控制,static int __net_init ip_rt_do_proc_init(struct net *net){#ifdef CONFIG_IP_ROUTE_CLASSID pde = proc_create("rt_acct", 0, net->proc_net, &rt_

2021-06-17 22:48:17 508

原创 IPv4路由cache统计信息

内核定义如下的每处理器结构rt_cache_stat记录路由缓存信息。struct rt_cache_stat { unsigned int in_slow_tot; unsigned int in_slow_mc; unsigned int in_no_route; unsigned int in_brd; unsigned int in_martian_dst; unsigned int in_martia

2021-06-16 22:54:59 547

原创 一对多GRE隧道配置

使用如下的配置拓扑: |----------------| |----------------| | | ens33 ens33 | | | Client1 |---------------------------------------| Server |

2021-06-09 22:46:33 2362 1

原创 ISATAP隧道处理

基础的sit隧道处理请参考:SIT通用隧道, 此处仅涉及isatap相关部分。netlink用户接口函数ipip6_newlink创建新的sit隧道,函数ipip6_tunnel_create创建新的隧道。static int ipip6_newlink(struct net *src_net, struct net_device *dev, struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack

2021-06-08 21:36:52 765

原创 6rd隧道处理

基础的sit隧道处理请参考:SIT通用隧道,此处仅涉及6rd相关部分。命名空间fallback设备命名空间初始化中,使用函数ipip6_tunnel_clone_6rd初始化fallback设备的6rd相关参数。static int __net_init sit_init_net(struct net *net){ ... /* FB netdevice is special: we have one, and only one per netns. * Allowing

2021-06-04 23:07:42 886

原创 SIT通用隧道

SIT模块不仅支持IPv6-over-IPv4封装,还支持IPv4-over-IPv4和MPLS-over-IPv4封装报文,其中IPv4-over-IPv4与IPIP隧道功能相同。对于控制接口,注册了每个网络命名空间处理结构sit_net_ops和netlink处理接口sit_link_ops。static int __init sit_init(void){ int err; pr_info("IPv6, IPv4 and MPLS over IPv4 tunneling

2021-06-03 21:34:31 1118

原创 ifconfig创建sit隧道

通常可使用ip命令创建sit隧道设备,如下:# ip tunnel add sit1 mode sit remote 192.168.20.1 local 192.168.20.5## ip link5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/sit 0.0.0.0 brd 0.0.0.06: sit1@NONE: <POINT

2021-06-02 21:30:09 1087

原创 禁止内核创建fallback设备

使用ip link命令查看接口的时候,会发现一些系统自动创建的隧道fallback设备,如:tunl0、gre0、gretap0、sit0、ip6tnl0和ip6gre0等。/ # ip link14: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1 link/ipip 0.0.0.0 brd 0.0.0.015: gre0@NONE: <NOARP&gt

2021-06-01 21:51:44 598

botan-ed25519.pcap

IKEv2协议交互报文,认证方式选用Ed25519算法的证书方式。

2019-10-28

IKEv2-rw-cert2.pcap

strongswan使用linux内核的af_alg加密接口配置,IKEv2协议交互报文。

2019-10-28

IKEv2-camellia.pcap

IKEv2协议使用camellia加密算法的协商报文,交互流程。

2019-10-28

libssh2-1.8.0 and ssh2_batch example

ssh2_batch可执行程序,用于非交互式的ssh命令执行。源代码和libssh2

2018-06-13

WEB Portal 认证完整的交互报文

web认证交互报文,包括WLAN controller与portal server的认证与注销,AC与radius 服务器的认证报文。

2018-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除