🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 基础网络工具 ### `iptables`- administrtaion tool for IPv4/IPv6 packet filtering and NAT `iptables`共有4个表: * **filter**:定义了哪些数据包(packet)可以通过/不通过 * **nat**:定义了地址转换规则 * **mangle**:用来根据规则修改数据报文 * **raw**:默认为空 `iptables`内置5条标准规则链/钩子函数(hook function) * **PREROUTING**:路由前钩子 * **INPUT**:数据包流入钩子 * **FORWARD**:转发钩子 * **OUTPUT**:数据包流出钩子 * **POSTROUTING**:路由后钩子 除上述标准链规则外,用户还可以自定义规则链。 任何一个数据包,只要流经本机网络,必将触发以上钩子函数中的一个或多个。 Docker容器也正是通过添加和修改相关的规则链来达到控制网络连接的目的。 ### `ip`- show/manipulate routing, devices, policy routing and tunnels ### `brctl`- ethernet bridge administration `brctl`:是Linux用来配置网桥的工具,同时还可以在主机上创建和管理虚拟网桥。Ubuntu系统默认不带这个工具,可通过下面的命令安装该工具: ~~~ # apt-get install brctl-utils ~~~ **网桥**:是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或是将2个以上的LAN互联为一个逻辑LAN。 网桥与路由器的存储/转发区别: * 网桥工作在数据链路层,根据MAC地址转发数据帧,可以视为ISO7层模型中的2层路由器 * 路由器工作在网络层,根据网络地址(IP地址)转发数据包。