分类 linux 中的文章

使用ipset来简化iptables规则列表

在写iptables规则的时候

  • 有些时候会有比较多的ip地址需要维护
  • 并且,有很多时候都是到达相同的目标端口的
  • 经常需要改写iptables规则,是不是觉得有些繁琐呢?

我们可以通过ipset来简化这一工作。

……

阅读全文

docker容器指定出口IP地址

需求背景

服务器配置有多个网卡,拥有多个外网IP地址,业务需求是:某一个docker容器主动访问外网时,使用指定的IP地址。

我们知道默认情况下,从外界进来的数据包,我们是可以通过-p参数来指定使用哪一个IP地址的,但容器主动访问外界的时候就有所不同了。

……

阅读全文

LVM一分钟上手

1. 创建 disk.img 文件

$ dd if=/dev/zero of=disk.img bs=4K count=$((5*1024*1024))
5242880+0 records in
5242880+0 records out
21474836480 bytes (21 GB, 20 GiB) copied, 850.981 s, 25.2 MB/s
……

阅读全文

GDB远程调试(ARM平台的二进制)

最近接到一个使用C++写的二进制程序,运行于Arm平台,文档比较少,于是想到这样子的情况下最简单的理解代码方式就是使用GDB去调试一下,看看实际它都运行得怎么样。

笔者的环境是Mac环境,Mac环境下直接使用gdb远程调试不好配置,于是我的环境主要在docker环境下进行的。

……

阅读全文

Nginx配置https和端口映射

安全的问题不容小觑,一般我所开发的后台服务器,我都会要求使用https,以减少网络的中间攻击导致不必要的损失。

一般情况下,我开发的后台,只是监听的是127.0.0.1:4430类似的端口,仅限本地访问。

然后通过nginx来处理外部的请求,将它转发至本地的服务上,顺带使用nginx来配置一下https的证书。

……

阅读全文

Linux/Android系统调用示例

什么是系统调用

计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同时运行的多个进程都需要访问这些资源,为了更好的管理这些资源进程是不允许直接操作的,所有对这些资源的访问都必须有操作系统控制。也就是说操作系统是使用这些资源的唯一入口,而这个入口就是操作系统提供的系统调用(System Call)。在linux中系统调用是用户空间访问内核的唯一手段,除异常和陷入外,他们是内核唯一的合法入口。

……

阅读全文