- 练习 25:网络:配置文件,
/etc/network/interfaces- 这样做
- 你会看到什么
- 解释
- 附加题
练习 25:网络:配置文件,/etc/network/interfaces
原文:Exercise 25. Networking: configuration files, /etc/network/interfaces
译者:飞龙
协议:CC BY-NC-SA 4.0
自豪地采用谷歌翻译
从命令行配置网络接口是很好的,但现在是时候学习如何让vm1自动配置网络接口。为此,你将了解/etc/network/interfaces配置文件:
user1@vm1:~$ cat /etc/network/interfaces# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).# The loopback network interface#(1) (2)auto lo#(3) (4)(5) (6)iface lo inet loopback# The primary network interface#(7) (8)allow-hotplug eth0#(9) (10) (11) (12)iface eth0 inet dhcp
像往常一样,字段及其描述:
| 字段 | 描述 |
|---|---|
| (1) | 自动配置界面。 |
| (2) | 接口名称。 |
| (3) | 接口配置的开始 |
| (4) | 要配置的接口名称 |
| (5) | 此接口使用 TCP/IP 网络,IPv4。 |
| (6) | 它是回送接口。默认回送地址将自动分配给它。 |
| (7) | 在可用时自动配置接口(请在这里考虑 usb-modem)。 |
| (8) | 接口名称。 |
| (9) | 接口配置的开始 |
| (10) | 要配置的接口名称 |
| (11) | 此接口使用 TCP/IP 网络,IPv4。 |
| (12) | 此接口通过 DHCP 自动获取其参数。 |
其他包含网络配置的重要文件,但我们在这里不会碰到他们:
/etc/hosts- 操作系统中使用的计算机文件,用于将主机名映射到 IP 地址。hosts文件是一个纯文本文件,通常按照惯例命名为hosts。/etc/hostname- 分配给连接到计算机网络的设备的标签,并用于识别各种形式的电子通信设备。/etc/resolv.conf- 各种操作系统中的计算机文件,用于配置域名系统( DNS)解析器库。该文件是纯文本文件,通常由网络管理员或管理系统配置任务的应用创建。resolvconf程序是 linux 机器上的这样的程序,它管理resolv.conf文件。
让我们回忆之前练习的tap0。如果你重新启动vm1, 它就会消失。当然,你可以通过重新输入相关命令来启用它,但是让我们想象一下,你需要在重新启动后自动使用该命令。
现在,你将学习如何使用/etc/network/interfaces文件来配置接口。
这样做
1: ip a s2: sudo vim /etc/network/interfaces
现在将这些东西添加到配置文件末尾:
3: auto tap04: iface tap0 inet static5: address 10.1.1.26: netmask 255.255.255.07: tunctl_user uml-net8:9: allow-hotplug tap110: iface tap1 inet static11: address 10.1.1.312: netmask 255.255.255.0
现在键入:wq<ENTER>并继续:
13: sudo /etc/init.d/networking start14: ip a s15: sudo tunctl -t tap1 -u uml-net16: ip a s
你会看到什么
user1@vm1:~$ ip a s1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWNlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:d4:45:68 brd ff:ff:ff:ff:ff:ffinet 10.0.2.15/24 brd 10.0.2.255 scope global eth0inet6 fe80::a00:27ff:fed4:4568/64 scope linkvalid_lft forever preferred_lft foreveruser1@vm1:~$ sudo vim /etc/network/interfaces# and how to activate them. For more information, see interfaces(5).# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceallow-hotplug eth0iface eth0 inet dhcpauto tap0iface tap0 inet staticaddress 10.2.2.2netmask 255.255.255.0tunctl_user uml-netallow-hotplug tap1iface tap1 inet staticaddress 10.3.3.3netmask 255.255.255.0~"/etc/network/interfaces" 21L, 457C written 21,1-8 Botuser1@vm1:~$ sudo /etc/init.d/networking startConfiguring network interfaces...Set 'tap0' persistent and owned by uid 104 done.user1@vm1:~$ ip a s1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWNlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:d4:45:68 brd ff:ff:ff:ff:ff:ffinet 10.0.2.15/24 brd 10.0.2.255 scope global eth0inet6 fe80::a00:27ff:fed4:4568/64 scope linkvalid_lft forever preferred_lft forever3: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500link/ether 46:63:30:70:b5:21 brd ff:ff:ff:ff:ff:ffinet 10.2.2.2/24 brd 10.2.2.255 scope global tap0inet6 fe80::4463:30ff:fe70:b521/64 scope linkvalid_lft forever preferred_lft foreveruser1@vm1:~$ sudo tunctl -t tap1 -u uml-netSet 'tap1' persistent and owned by uid 104user1@vm1:~$ ip a s1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWNlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:d4:45:68 brd ff:ff:ff:ff:ff:ffinet 10.0.2.15/24 brd 10.0.2.255 scope global eth0inet6 fe80::a00:27ff:fed4:4568/64 scope linkvalid_lft forever preferred_lft forever3: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500link/ether 46:63:30:70:b5:21 brd ff:ff:ff:ff:ff:ffinet 10.2.2.2/24 brd 10.2.2.255 scope global tap0inet6 fe80::4463:30ff:fe70:b521/64 scope linkvalid_lft forever preferred_lft forever4: tap1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500link/ether 8a:ed:90:33:93:55 brd ff:ff:ff:ff:ff:ffinet 10.3.3.3/24 brd 10.3.3.255 scope global tap1inet6 fe80::88ed:90ff:fe33:9355/64 scope linkvalid_lft forever preferred_lft foreveruser1@vm1:~$
解释
- 打印当前接口配置。
- 编辑
/etc/network/interfaces。 - 自动配置
tap0。 - 为
tap0设置以下 IPv4 静态参数。 - 将 IP 地址
10.2.2.2添加给tap0。 - 为此 IP 地址指定网络掩码、参数“广播”和“网络”自动 从这个网络掩码导出。
- 指定拥有
tap0接口的用户。 - 由于可读性的空行。
- 在
tap1接口出现在系统中时,添加以下参数。 - 为
tap1设置以下 IPv4 静态参数。 - 将 IP 地址
10.3.3.3添加给tap1。 - 为此 IP 地址指定网络掩码。
- 应用网络配置更改。
- 打印当前接口配置。你可以看到
tap0被添加到接口列表中。 - 添加
tap1伪接口。 - 打印当前接口配置。你可以看到`/etc/network/interfaces中指定的参数自动应用于它。
附加题
- 说明如何导出“网络”和“广播”参数。
- 尝试这个:
ping kitty。预期会失败。现在添加一个条目到/etc/hosts,以便你能够成功执行ping。
