n这一节本来按照教学大纲应该是学习SSH,不过SSH有很多网络相关的知识,因此老师把网络内容提前了一些。网络的基本知识例如IP,DNS,DHCP,路由协议等常识就不在此解释了。
RHEL查看网卡的相关信息很容易,ifconfig就可以查看。注意 RHEL7里面的网卡名目方式从eth0,1,2的方式变成了enoXXXXX的格式。 en 代表的是enthernet (以太网),o 代表的是onboard (内置),那一串数字是主板的某种索引编号自动生成,以便保证其唯一性。和原先的命名方式对比,这种新的方式比较长,难以记忆,不过优点在于编号唯一,做系统迁移的时候不容易出错。类似的命名还有SXXX (模块插槽),PXXX (usb设备),这里和网络无关,就不赘述了。
除了ifconfig,也可以用 ip address来查看,可以通过show 指定具体的网卡
查看所有网卡的信息,甚至可以简写成 ip a
接下来看看连接(Connection),一个网卡本身并没有IP地址,也没法通讯,只有和他建立连接之后,才可以获取地址,并且和外界通讯。因此网卡和连接是两个独立的概念。
比如说,我在虚拟机上删掉了所有的网卡
ifconfig里面确认删除, 但是nmcli connection show里面我之前创建的连接仍然存在
如何配置连接呢?可以通过图形化工具,命令行或者是修改配置文件来实现
方法1. 图形化工具
我们可以通过nm-connection-editor来配置连接,可以看见之前的连接虽然绑定的网卡已经没了,但是他还在那里。
添加一个网卡作为测试
ifconfig可以看见网卡了,但是这个网卡还没IP地址
打开nm-connection-editor,然后新建一个连接
给个名字,绑定设备地址
这里我就默认的dhcp,由vmware workstation自动分配
配置好了,重启网络服务,再看看ifconfig,发现已经获取了新的地址
一旦该连接建立成功,在/etc/sysconfig/networks-scripts 下面就会自动创建同名的配置文件
打开看看
接下来,我们看看命令行如何操作
方法2 nmcli 命令
nmcli是个很强大的命令,后面一大堆选项和对象可以配置。看看帮助文档,对象可以是综合信息,网络,信号和连接。这里我们主要是学习连接的配置使用。
看看直接输入不同对象有什么效果
接下来看看我们要学习的重点,如何配置连接,还是先看看帮助,他后面可以跟show,up, down, add, modify, edit, delete, reload, 从名字大概都能猜的出来是干什么用的
做实验,我又添加了一个网卡作为对比
ifconfig查看网卡信息,可以看见第二个网卡还没有IP地址
查看设备信息,可以看见第二个网卡的连接状态是断开(事实上他根本还没有连接)
顺便看看device有哪些参数可以查询,他有个connect的选项,试试看,结果失败了,提示该设备根本木有可用连接
那么我们来新建一个连接好了,先看看帮助,豆子使用命令之前很喜欢用帮助,因为具体的参数是根本记不住的,所以看看帮助是很有必要的
他的基本格式是 nmcli connection add 常见选线(类型,设备名,连接名,自动连接) 设备类型(以太网,wifi等等)ip地址
豆子依葫芦画瓢添加一个新的连接,创建成功
查看一下连接状态,成功
那么怎么查看具体的设备信息呢?可以通过 nmcli connection show 设备名来 查看,例如
这里面有所有相关的信息,包括常见的名称,mac地址,连接类型,网关,dns,mtu等等
修改某一项属性,只需要使用nmcli connection modify 设备名 属性名称 新的属性 的格式就行了。设备名称 enoXXXXX, 属性值 connection.id 都可以通过tab键自动出现,因此记个大概就行了
比如我修改一下id,重启网络服务,可以看见 id已经变化了
不过ifconfig里面仍然没有变化,因为这个设备的名字是固定的,后面会演示如何变成之前的命名方式。
接下来再试试看更改一下ip地址。目前是DHCP自动分配的,所以我需要先修改IP地址,然后将配置方式改为手动
然后查看网卡是否更新了地址,确认成功
创建了连接之后,还可以通过 down和up来关掉,打开连接。
另外提一句,我可以通过 nmcli connection sh enoXXX | grep route的方式查看网关或者DNS,我也可以通过更传统的 route和 /etc/resolv.conf 文件查看
比如我用nmcli 添加一个DNS的记录
重启服务之后,查看/etc/resolv.conf文件,也更改了
ifconfig命令本身也可以修改IP,不过这是暂时的,重启服务之后就恢复原样了
方法3. 配置文件来修改网络
前面已经说了,配置连接之后会自动生成对应的文件。我们可以通过复制粘贴一个现成的,来创建一个新的连接
最后我们来看看如何修改网卡的命名方式。 修改以下文件 /etc/default/grub 文件
添加以下设定
然后切记一定要删除当前所有的connection连接,修改才会生效!
重新编译重启一下机器
修改成功!