C++ 是一种跨平台的编程语言,用来创建高性能的应用程序,如操作系统,聊天软件,浏览器,游戏等。c++ 源自于 c 语言,并且很大程度上使用了 c 语言的设计理念。

下面用几篇文章介绍 c++ 的基础用法。

- 阅读剩余部分 -

在创建 VMware workstation 虚拟机时,在磁盘选项上会提示选择创建单个虚拟磁盘文件或分割为多个文件。我喜欢使用单个文件,因为选择多个文件会在虚拟机目录下建立许多类似的 vmdk 文件,不太方便复制到其他地方。而且在导入 macOS 下的 VMware fusion 时会报错,所以推荐使用单个磁盘文件。

当现有的虚拟机已经是使用多个文件形式的话,可以使用 VMware workstation 附带的 vmware-vdiskmanager.exe 工具来进行合并。

- 阅读剩余部分 -

互联网设备之间是通过分配给每台主机的 IP 地址实现访问的,当前是以 32 位 IPv4 地址作为标准。为了便于使用,每 8 位用点.来隔开,习惯使用十进制形式表示,如:192.168.88.3

Decimal  192         168         88           3
Binary   11000000    10101000    01011000     00000011

理论上可以分配 2 的 32 次方个 IP 地址。

- 阅读剩余部分 -

dnsmasq 是处理 dns 请求的工具,实现域名请求解析到目标 IP 地址的过程。可以方便的管理本机或局域网设备的域名解析服务,使用教程参考:https://blog.niekun.net/archives/1869.html

iptables 是网络防火墙规则管理/修改工具,管理网络数据包的处理和转发。使用教程参考:https://blog.niekun.net/archives/1863.html

iptables 管理某个源地址或目标地址的流量时,只能识别 IP 地址,比如:

# -s 匹配源地址流量,接收来自 192.168.1.230 发往本机的流量:
iptables -t filter -A INPUT -s 192.168.1.230 -j ACCEPT

# -d 匹配目标地址的流量,丢弃发往 192.168.1.123 的流量:
iptables -t filter -A OUTPUT -d 192.168.1.123 -j DROP

- 阅读剩余部分 -

dnsmasq 提供 DNS 缓存/查询服务和 DHCP(Dynamic Host Configuration Protocol) 服务等功能,用来管理本地局域网络系统。内置于常见的 Linux 分发版,openWrt,macOS 系统中。

安装

直接使用包管理器安装:

apt install dnsmasq

查询版本:

dnsmasq -v

信息里 Compile time options 可以看到当前安装版本支持的选项功能 ,如:ipset

[email protected]:/etc# dnsmasq -v
Dnsmasq version 2.80  Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC no-ID loop-detect inotify dumpfile

This software comes with ABSOLUTELY NO WARRANTY.
Dnsmasq is free software, and you are welcome to redistribute it
under the terms of the GNU General Public License, version 2 or 3.

启动服务:

systemctl start dnsmasq

服务启动后,会监听本地或局域网内的 DNS 请求并根据配置规则进行处理。

- 阅读剩余部分 -