目录
创新互联,专注为中小企业提供官网建设、营销型网站制作、自适应网站建设、展示型做网站、成都网站设计等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。
提示 | |
---|---|
关于Debian专属的网络手册,请查看Debian管理员手册—网络配置。 |
提示 | |
---|---|
systemd环境下,可以用networkd来配置网络。请参考 |
让我们来回顾一下现代Debian操作系统中的基本网络架构。
表 5.1. 网络配置工具一览表
软件包 | 流行度 | 大小 | 类型 | 说明 |
---|---|---|---|---|
network-manager |
V:369, I:440 | 14500 | 配置::NM | NetworkManager(守卫进程):自动管理网络 |
network-manager-gnome |
V:126, I:371 | 5350 | 配置::NM | NetworkManager(GNOME前端) |
ifupdown |
V:584, I:987 | 217 | 配置::ifupdown | 用来启动/关闭网络的标准工具(Debian特有) |
isc-dhcp-client |
V:219, I:982 | 689 | 配置::底层 | DHCP客户端 |
pppoeconf |
V:0, I:7 | 192 | 配置::辅助 | 配置助手,以便于使用PPPoE连接 |
wpasupplicant |
V:341, I:503 | 3817 | 同上 | WPA和WPA2客户端支持(IEEE 802.11i) |
wpagui |
V:0, I:2 | 800 | 同上 | wpa_supplicant Qt 图形界面客户端 |
wireless-tools |
V:176, I:239 | 297 | 同上 | 操控Linux无线扩展的工具 |
iw |
V:223, I:477 | 294 | 同上 | 配置 Linux 无线设备的工具 |
iproute2 |
V:701, I:949 | 3294 | 配置::iproute2 | iproute2, IPv6和其他高级网络配置:ip (8),tc (8)等等 |
iptables |
V:306, I:942 | 2521 | 配置::Netfilter | 封包过滤和网络地址转换管理工具(Netfilter) |
iputils-ping |
V:206, I:997 | 118 | 测试 | 测试能否连接远程主机,通过主机名或IP 地址(iproute2) |
iputils-arping |
V:5, I:78 | 60 | 测试 | 测试能否连接远程主机,通过ARP地址 |
iputils-tracepath |
V:4, I:46 | 52 | 测试 | 跟踪访问远程主机的路径 |
ethtool |
V:96, I:267 | 631 | 测试 | 显示或更改以太网设备的设定 |
mtr-tiny |
V:6, I:52 | 161 | 测试::底层 | 追踪连接远程主机的路径(文本界面) |
mtr |
V:4, I:44 | 214 | 同上 | 追踪连接远程主机的路径(文本界面和GTK界面) |
gnome-nettool |
V:1, I:31 | 2110 | 同上 | 获取常见网络信息的工具(GNOME) |
nmap |
V:28, I:231 | 4452 | 同上 | 网络映射/端口扫描(Nmap,控制台) |
zenmap |
V:0, I:4 | 2939 | 同上 | 网络映射/端口扫描(GTK) |
tcpdump |
V:18, I:196 | 1330 | 同上 | 网络流量分析(Tcpdump,控制台) |
wireshark |
I:52 | 72 | 同上 | 网络流量分析(Wireshark,GTK) |
tshark |
V:2, I:30 | 427 | 同上 | 网络流量分析(控制台) |
tcptrace |
V:0, I:2 | 401 | 同上 | 根据tcpdump 的输出生成的连接数据统计 |
snort |
V:0, I:1 | 2206 | 同上 | 灵活的网络入侵侦测系统(Snort) |
ntopng |
V:1, I:1 | 969 | 同上 | 在网页浏览器中展示网络流量 |
dnsutils |
V:39, I:423 | 275 | 同上 | BIND软件包提供的网络客户端程序:nslookup (8),nsupdate (8),dig (8) |
dlint |
V:0, I:5 | 53 | 同上 | 利用域名服务器查询来查看DNS域信息 |
dnstracer |
V:0, I:1 | 60 | 同上 | 跟踪DNS查询直至源头 |
主机名解析,目前也是由 NSS (名字服务转换 Name Service Switch) 机制来支持。这个解析的流程如下。
"/etc/nsswitch.conf
" 文件里的 "hosts: files dns
" 这段规定主机名解析顺序。 (代替 "/etc/host.conf
" 文件里的"order
" 这段原有的功能。)
files
方式首先被调用。如果主机名在 "/etc/hosts
" 文件里面发现,则返回所有有效地址并退出。 ( "/etc/host.conf
" 文件包含 "multi on
".)
dns
方式被调用。如果主机名通过查询 "/etc/resolv.conf
" 文件里面写的 互联网域名系统 Domain Name System (DNS) 来找到,则返回所有有效地址并退出。
例如, "/etc/hosts
" 看起来如下。
127.0.0.1 localhost 127.0.1.1 host_name # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
每一行由 IP 地址 开始,接下来是相关联的主机名.
在这个例子的第二行 127.0.1.1
IP 地址也许不会在其它类 Unix 系统发现。Debian Installer 为没有永久 IP 地址的系统创建这个条目,作为某些软件(如 GNOME)的一个变通方法,见文档 bug #719621.
host_name 匹配在"/etc/hostname
"里定义的主机名。
对于有永久 IP 地址的系统,这个永久 IP 地址应当代替这里的 127.0.1.1
。
对于有永久 IP 地址和有 域名系统 Domain Name System (DNS)提供完全资格域名 fully qualified domain name (FQDN) 的系统,规范名 host_name.domain_name 应当被用来代替 host_name.
如果 resolvconf
软件包没有安装,"/etc/resolv.conf
" 是一个静态文件。如果安装了,它是一个符号链接。此外,它包含有解析策略的初始化信息。如 DNS 是 IP="192.168.11.1
",则包含如下。
nameserver 192.168.11.1
resolvconf
软件包使这个 "/etc/resolv.conf
" 文件成为一个符号链接,并通过钩子脚本自动管理其内容。
对于典型 adhoc 局域网环境下的 PC 工作站,除了基本的 files
和 dns
方式之外,主机名还能够通过组播 DNS (mDNS, 零配置网络 Zeroconf)进行解析。
Avahi 提供 Debian 下的组播 DNS 发现框架。
它和 Apple Bonjour / Apple Rendezvous 相当.
libnss-mdns
插件包提供 mDNS 的主机名解析,GNU C 库 (glibc)的 GNU 名字服务转换 Name Service Switch (NSS) 功能支持 mDNS。
"/etc/nsswitch.conf
" 文件应当有像 "hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
" 这样的一段.
".local"结尾的主机名,使用 pseudo-top-level domain (TLD) 来解析.
mDNS IPv4 本地连接组播地址 "224.0.0.251
" 或它相应的 IPv6 地址 "FF02::FB
" 被用来作为 ".local
" 结尾名字的 DNS 查询。
较老的 Windows 系统安装 winbind
软件包来提供旧的 NETBios over TCP/IP 主机名解析。为启用这个功能,"/etc/nsswitch.conf
" 文件应当有这样的一段: "hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 wins
"。 (现代 Windows 系统通常使用 dns
方式来进行主机名解析。)
注意 | |
---|---|
域名系统 Domain Name System 中的扩展通用顶级域名 expansion of generic Top-Level Domains (gTLD) 还在进行中。在局域网内,选择一个域名时,请提防名字冲突 name collision。 |
systemd 使用"enp0s25
" 之类的 "可预测网络接口名称"。
让我们重新提醒下在 rfc1918 里规定的局域网 local area networks (LANs)IPv4 32 位地址在各类地址的保留范围. 这些地址保证不会与因特网上专有的地址冲突。
注意 | |
---|---|
IP 地址书写中有冒号的是 IPv6 地址,例如," |
表 5.2. 网络地址范围列表
类别 | 网络地址 | 子网掩码 | 子网掩码/位数 | 子网数 |
---|---|---|---|---|
A | 10.x.x.x | 255.0.0.0 | /8 | 1 |
B | 172.16.x.x — 172.31.x.x | 255.255.0.0 | /16 | 16 |
C | 192.168.0.x — 192.168.255.x | 255.255.255.0 | /24 | 256 |
注意 | |
---|---|
如果这些地址分配到一个主机,那么这个主机一定不能够直接访问互联网,必须通过一个作为网关的代理服务或通过 网络地址转换 Network Address Translation (NAT). 消费局域网环境,宽带路由器通常使用 NAT。 |
尽管 Debian 系统支持大多数硬件设备,但依旧有一些网络设备需要 DFSG non-free 固件来支持它们。参见 第 9.10.5 节 “硬件驱动和固件”。
对于使用 systemd
的现代 Debian 桌面系统,网络接口通常由两个服务进行初始化:lo
接口通常在“networking.service
”处理,而其它接口则由“NetworkManager.service
”处理。
Debian 可以通过后台守护进程(daemon)管理软件来管理网络连接,例如 NetworkManager (NM)(network-manager 和相关软件包)。
它们有自己的 GUI 和命令行程序来作为用户界面。
它们有自己的后台守护进程(daemon)作为它们的系统后端。
它们使你可以简单地将系统连接到网络。
它们使你可以简单地管理有线和无线网络的配置。
它们允许你配置网络而不依赖传统的 ifupdown
软件包。
注意 | |
---|---|
不要在服务器上使用这些自动网络配置工具。它们主要针对于笔记本电脑上的移动桌面用户。 |
这些现代的网络配置工具需要进行适当的配置,以避免与传统 ifupdown
软件包发生冲突,它的配置文件位于 “/etc/network/interfaces
”。
Debian 系统 NM 的官方文档位于 “/usr/share/doc/network-manager/README.Debian
” 。
本质上,如下操作即可完成桌面的网络配置。
通过下列命令使桌面用户 foo
归属 “netdev
” 组(另外,例如 GNOME 和 KDE 这样的现代桌面环境会通过 D-bus 自动完成该操作)。
$ sudo adduser foo netdev
使 “/etc/network/interfaces
” 的配置保持下面那样简洁。
auto lo iface lo inet loopback
通过下列命令重新启动 NM。
$ sudo systemctl restart network-manager
通过图形界面配置网络。
注意 | |
---|---|
只有不列在 “ |
提示 | |
---|---|
如果你想扩展 NM 的网络配置功能,请寻找适当的插件模块和补充软件包,例如 |
使用 systemd 的系统中,可以在 /etc/systemd/network/
里配置网络。参见 systemd-resolved
(8)、resolved.conf
(5) 和 systemd-networkd
(8)。
这个允许在没有图像界面的情况下配置现代网络。
DHCP 客户端的配置可以通过创建 "/etc/systemd/network/dhcp.network
" 文件来进行设置。例如:
[Match] Name=en* [Network] DHCP=yes
一个静态网络配置能够通过创建 "/etc/systemd/network/static.network
" 来设置.比如:
[Match] Name=en* [Network] Address=192.168.0.15/24 Gateway=192.168.0.1
在 Linux 上的底层网络配置,使用 iproute2 程序 (ip
(8), …) .
Iproute2 命令集提供完整的底层网络配置能力。有个从旧的 net-tools 命令集到新的 iproute2 命令集的转换表。
表 5.3. 从旧的 net-tools
命令集到新的 iproute2
命令集转换表
旧的 net-tools | 新的 iproute2 | 操作 |
---|---|---|
ifconfig (8) |
ip addr |
一个设备上的协议(IP 或 IPv6)地址 |
route (8) |
ip route |
路由表条目 |
arp (8) |
ip neigh |
ARP 或 NDISC 缓存条目 |
ipmaddr |
ip maddr |
多播地址 |
iptunnel |
ip tunnel |
IP 隧道 |
nameif (8) |
ifrename (8) |
基于 MAC 地址的网络接口名 |
mii-tool (8) |
ethtool (8) |
以太网设备设置 |
参见 ip
(8) 和 IPROUTE2 工具套件 Howto.
你可以按下面的方式安全的使用底层网络命令,这些命令不会改变网络配置。
表 5.4. 底层网络命令列表
命令 | 说明 |
---|---|
ip addr show |
显示活动的网络接口连接和地址状态 |
route -n |
用数字地址显示全部路由表 |
ip route show |
用数字地址显示全部路由表 |
arp |
显示当前 ARP 缓存表的内容 |
ip neigh |
显示当前 ARP 缓存表的内容 |
plog |
显示 ppp 后台守护进程(daemon)日志 |
ping yahoo.com |
检查到 "yahoo.com " 的因特网连接 |
whois yahoo.com |
在域名数据库里面检查谁注册了 "yahoo.com " |
traceroute yahoo.com |
跟踪到 "yahoo.com " 的因特网连接 |
tracepath yahoo.com |
跟踪到 "yahoo.com " 的因特网连接 |
mtr yahoo.com |
跟踪到 "yahoo.com " 的因特网连接(重复的) |
dig [@dns-server.com] example.com [{a|mx|any}] |
查询由 "dns-server.com " 提供服务的 "example.com " 域名的 DNS 记录: "a ", "mx " 或 "any " 记录 |
iptables -L -n |
查看包过滤 |
netstat -a |
找出所有打开的端口 |
netstat -l --inet |
找出监听端口 |
netstat -ln --tcp |
找出 TCP 监听端口(数字的) |
dlint example.com |
查询 "example.com " 的 DNS zone 信息 |
提示 | |
---|---|
部分底层网络配置工具放在 " |
通用的网络优化超出了本文的范围。我提及消费等级连接相关的主题。
表 5.5. 网络优化工具列表
软件包 | 流行度 | 大小 | 说明 |
---|---|---|---|
iftop |
V:7, I:112 | 97 | 显示一个网络接口上的带宽使用信息 |
iperf |
V:3, I:52 | 322 | 互联网协议带宽测量工具 |
ifstat |
V:0, I:8 | 59 | 接口统计监控 |
bmon |
V:1, I:17 | 146 | 便携式带宽监视器和网速估计工具 |
ethstatus |
V:0, I:4 | 40 | 快速测量网络设备吞吐的脚本 |
bing |
V:0, I:1 | 80 | 实验性的随机带宽测试器 |
bwm-ng |
V:1, I:17 | 90 | 小巧简单的控制台带宽监测器 |
ethstats |
V:0, I:0 | 23 | 基于控制台的以太网统计监视器 |
ipfm |
V:0, I:0 | 78 | 带宽分析工具 |
网络管理器通常会自动设置最佳 最大传输单元 (MTU) 。
在一些场景中,在用 ping
(8) 加上"-M do
"选项发送各种大小的 ICMP 报文数据包进行实验后,你希望可以手动设置 MTU。MTU 是最大可完成没有 IP 分片的数据包大小加上 28 字节(IPv4)或 48 字节(IPv6)。下面的列子,发现 IPv4 连接的 MTU 是 1460,IPv6 连接的 MTU 是 1500。
$ ping -4 -c 1 -s $((1500-28)) -M do www.debian.org PING (149.20.4.15) 1472(1500) bytes of data. ping: local error: message too long, mtu=1460 --- ping statistics --- 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms $ ping -4 -c 1 -s $((1460-28)) -M do www.debian.org PING (130.89.148.77) 1432(1460) bytes of data. 1440 bytes from klecker-misc.debian.org (130.89.148.77): icmp_seq=1 ttl=50 time=325 ms --- ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 325.318/325.318/325.318/0.000 ms $ ping -6 -c 1 -s $((1500-48)) -M do www.debian.org PING www.debian.org(mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e)) 1452 data bytes 1460 bytes from mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e): icmp_seq=1 ttl=47 time=191 ms --- www.debian.org ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 191.332/191.332/191.332/0.000 ms
这个过程是 路径 MTU (PMTU) 发现 (RFC1191) , tracepath
(8) 命令能够自动完成这个。
表 5.6. 最佳 MTU 值的基本指引方法
网络环境 | MTU | 基本原理 |
---|---|---|
拨号连接(IP: PPP) | 576 | 标准的 |
以太网连接 (IP: DHCP 或固定) | 1500 | 默认标准值 |
除了这些基本的指引方法外,你还应当知道下面的信息。
使用任何隧道方式(VPN 等.)的最佳 MTU 需要进一步减去它们上面的头部。
MTU 值不应当超过通过实验验证的 PMTU 值。
当遇到其它限制的时候,较大的 MTU 值通常比较好。
最大分片大小 (MSS) 是另外一种衡量包大小的方法。MSS 和 MTU 的关系如下.
对于 IPv4, MSS = MTU - 40
对于 IPv6,MSS = MTU - 60
注意 | |
---|---|
基于 |
TCP 吞吐量能够通过调整 TCP 缓冲大小的参数来最大化,对现代大带宽和高延时的 WAN,在 "TCP Tuning Guide" 和 "TCP tuning"里有描述. 到目前为止,当前 Debian 默认设置能够很好的服务好我的 1G bps 光纤到户 LAN 连接。
Netfilter 使用 Linux 内核 模块 (参见 第 3.8.1 节 “内核模块初始化”) 提供 状态防火墙 和 网络地址转换 (NAT) 框架。
表 5.7. 防火墙工具列表
软件包 | 流行度 | 大小 | 说明 |
---|---|---|---|
iptables |
V:306, I:942 | 2521 | netfilter 管理工具(iptables (8) 用于 IPv4, ip6tables (8) 用于 IPv6) |
arptables |
V:0, I:2 | 96 | netfilter 管理工具(arptables (8) 用于 ARP) |
ebtables |
V:14, I:33 | 265 | netfilter 管理工具 (ebtables (8) 用于以太网桥) |
iptstate |
V:0, I:3 | 116 | 持续性监控 netfilter 状态 (和 top (1) 相似) |
shorewall-init |
V:0, I:0 | 68 | Shoreline 防火墙 初始化 |
shorewall |
V:5, I:11 | 2458 | Shoreline 防火墙, netfilter 配置文件生成器 |
shorewall-lite |
V:0, I:0 | 65 | Shoreline 防火墙, netfilter 配置文件生成器 (精简版) |
shorewall6 |
V:1, I:2 | 779 | Shoreline 防火墙, netfilter 配置文件生成器(IPv6 版本) |
shorewall6-lite |
V:0, I:0 | 64 | Shoreline 防火墙, netfilter 配置文件生成器 (IPv6,精简版) |
netfilter 主要的用户层程序是 iptables
(8).你能从 shell 手工交付式的配置 netfilter,使用 iptables-save
(8) 保存当前状态,当系统重启时,通过 init 脚本调用 iptables-restore
(8) 来恢复。
像 shorewall 这样的配置帮助脚本能够使这个过程变得更简单。
参见 http://www.netfilter.org/documentation/ 上的文档(或在 "/usr/share/doc/iptables/html/
" 里面的文档).
Linux Networking-concepts HOWTO
Linux 2.4 Packet Filtering HOWTO
Linux 2.4 NAT HOWTO
提示 | |
---|---|
虽然这些是为 Linux 2.4 写的, |
本文题目:【Debian参考手册】第 5 章 网络设置
本文路径:http://www.shufengxianlan.com/qtweb/news33/536183.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联