如上一节所述,需要和其他设备通信,那么需要先配置ip.
1、如何配置ip
1.可以使用 ifconfig,也可以使用 ip addr
2.设置好了以后,用这两个命令,将网卡 up 一下,就可以了
//----------------------------
使用 net-tools:
$ sudo ifconfig eth1 10.0.0.1/24
$ sudo ifconfig eth1 up
//======================================
使用 iproute2:
$ sudo ip addr add 10.0.0.1/24 dev eth1
$ sudo ip link set up eth1
到这里,你可能会不理解是不是配置的还挺自由的
例如,旁边的机器都是 192.168.1.x,我非得配置一个 16.158.23.6,那么我们之间的通信是怎么样的?
结论:包发不出去,哪怕是在同一个交换机上
1.Linux 首先会判断,要去的这个地址和我是一个网段的吗?
或者和我的一个网卡是同一网段的吗?
只有是一个网段的,它才会发送 ARP 请求,获取 MAC 地址;
2.如果发现不是呢?
如果这是一个跨网段的调用,Linux 默认的逻辑是:
不会直接将包发送到网络上,而是企图将包发送到网关。
如果你配置了网关的话,Linux 会获取网关的 MAC 地址,然后将包发出去。
对于 192.168.1.6 这台机器来讲,虽然路过它家门的这个包,目标 IP 是它,但是无奈 MAC 地址不是它的,所以它的网卡是不会把包收进去的。
如果没有配置网关呢?那包压根就发不出去
3.如果将网关配置为 192.168.1.6 呢?不可能,Linux 不会让你配置成功的,因为网关要和当前的网络至少一个网卡是同一个网段的
所以,当你需要手动配置一台机器的网络 IP 时,一定要好好问问你的网络管理员
当然,真正配置的时候,一定不是直接用命令配置的,而是放在一个配置文件里面。
2、动态主机配置协议(DHCP)
1.有了这个协议,网络管理员就轻松多了。他只需要配置一段共享的 IP 地址。每一台新接入的机器都通过DHCP 协议,来这个共享的 IP 地址里申请,然后自动配置好就可以了。
2.所以说,如果是数据中心里面的服务器,IP 一旦配置好,基本不会变,这就相当于买房自己装修。DHCP 的方式就相当于租房。你不用装修,都是帮你配置好的。你暂时用一下,用完退租就可以了。
3、 DHCP 的工作方式
DHCP Discover
当一台机器新加入一个网络的时候,肯定啥情况都不知道,只知道自己的 MAC 地址。怎么办?先吼一句,我来啦,有人吗?这时候的沟通基本靠“吼”,即发送一个广播包
格式就像这样:
1.网络管理员在网络里面配置了DHCP Server的话,他就相当于这些 IP 的管理员。他立刻能知道来了一个“新人”。
2.这个时候,我们可以体会 MAC 地址唯一的重要性了。当一台机器带着自己的 MAC地址加入一个网络的时候,MAC 是它唯一的身份,如果连这个都重复了,就没办法配置了。
3.只有 MAC 唯一,IP 管理员才能知道这是一个新人,需要给它一个 IP 地址,这个过程我们称为DHCP Offer。
4.同时,DHCP Server 为此客户保留为它提供的 IP 地址,从而不会为其他 DHCP 客户分配此 IP地址。
1.如果有多个 DHCP Server,这台新机器会收到多个 IP 地址
2.它会选择其中一个 DHCP Offer,一般是最先到达的那个,并且会向网络发送一个 DHCP Request 广播数据包,包中包含客户端的 MAC 地址、接受的租约中的 IP 地址、提供此租约的 DHCP 服务器地址等,并告诉所有 DHCP Server 它将接受哪一台服务器提供的 IP 地址,告诉其他 DHCP 服务器,谢谢你们的接纳,并请求撤销它们提供的 IP 地址,以便提供给下一个 IP 租用请求者
最终租约达成的时候,还是需要广播一下,让大家都知道
4、IP 地址的收回
1.客户机会在租期过去 50% 的时候,直接向为其提供 IP 地址的 DHCP Server 发送 DHCP request 消息包。客户机接收到该服务器回应的 DHCP ACK 消息包,会根据包中所提供的新的租期以及其他已经更新的 TCP/IP 参数,更新自己的配置。这样,IP 租用更新就完成了
网络管理员不仅能自动分配 IP 地址,还能帮你自动安装操
作系统!