摘要:
云服务厂商通常都能提供VPN网关服务,与IPsec网关连接可以采用很多硬件和软件方式,其本质都是实现基于IPsec协议的隧道。本文演示了利用strongSwan打通云服务VPN网关,是一种软件IPsec VPN的方式。 阅读全文
摘要:
在Linux的top和ps命令中,默认看到最多的是pid (process ID),也许你也能看到lwp (thread ID)和tgid (thread group ID for the thread group leader)等等,而在Linux库函数和系统调用里也许你注意到了pthread id和tid等等。还有更多的ID,比如pgrp (process group ID), sid (session ID for the session leader)和 tpgid (tty process group ID for the process group leader)。概念太多可能很晕,但是只要对Linux的进程和线程的基本概念有准确的理解,这些ID的含义都迎刃而解。下面将介绍进程和线程的核心概念,并以一个示例程序来验证这些ID之间的关系。 阅读全文
摘要:
Brendan Gregg曾经分享过当遇到一个系统性能问题时,如何利用登录的前60秒对系统的性能情况做一个快速浏览和分析,主要包括如下10个工具,这是一个非常有用且有效的命工具列表。本文将详细介绍这些命令及其扩展选项的意义,及其在实践中的作用。 阅读全文
摘要:
按照SystemTap Beginners Guide的Installation and Setup部分安装了SystemTap,没想到竟然还有点曲折,在这里纪录一下整个安装过程。 阅读全文
摘要:
前文“在qemu环境中用gdb调试Linux内核”和“Initramfs 原理和实践”分别描述了怎么用qemu来运行一个编译好的内核,以及怎么指定initramfs,但都是简单的演示。我们可以把BusyBox作为一个用户空间运行在qemu启动的内核中,思路是把BusyBox打包成一个小型文件系统结构,并且归档到cpio文件中,作为系统启动的initramfs运行起来,这样我们就可以拥有一个类似Linux的操作界面和工具集。 阅读全文
摘要:
Linux系统启动时使用initramfs (initram file system), initramfs可以在启动早期提供一个用户态环境,借助它可以完成一些内核在启动阶段不易完成的工作。当然initramfs是可选的,在下面的示例情况中你可能要考虑用initramfs。 阅读全文
摘要:
对用户态进程,利用gdb调试代码是很方便的手段。而对于内核态的问题,可以利用crash等工具基于coredump文件进行调试。其实我们也可以利用一些手段对Linux内核代码进行gdb调试,qemu就是一种。qemu是一款完全软件模拟(Binary translation)的虚拟化软件,在虚拟化的实现中性能相对较差。但利用它来在测试环境中gdb调试Linux内核代码,是熟悉Linux内核代码的一个好方法。本文旨在介绍怎么利用qemu搭建Linux的gdb调试环境。其中主要包括了如何编译Linux内核,如何利用gdb远程连接qemu启动的gdbserver,进而进一步进行内核代码调试。 阅读全文
摘要:
本文转载自 https://mp.weixin.qq.com/s/FrEfx_Yvv0fkLG97dMSTqw。很久前看到Vincent Bernat在博客中写了一遍关于TCP time-wait的文章 https://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux,印象极其深刻。网上关于TCP time-wait的文章很多,这篇文章的作者应该也是受到了了Vincent Bernat那篇文章的影响,并且做了非常不错的总结,我觉得没有必要再自己制造一篇了,直接搬过来了,请支持原作者的微信。 阅读全文
摘要:
从内核3.7版本开始,Linux就开始支持VXLAN。我们怎么利用Linux VXLAN接口呢?本文利用最简单的点对点VXLAN和容器跨主机通信两个场景,来说明Linux VXLAN的原理和用途。 阅读全文