Linux 桥接网络不自动分配IP的问题
之前遇到过好多次,知道什么原因就是忘了命令怎么敲,还要去搜索,写一遍加强下记忆,并总结下。
情况一 :网卡冲突问题
1 , 网卡问题
有安装过oracle vm virtualbox 的,会和vmwareworstation 网卡冲突,导致网卡流量导流到box的网卡上,保留一个(我是将盒子卸载了,并且卸载了相关的网卡)
2 ,vm网络编辑器
在打开的网络编辑器页面看到虚拟机使用的桥接模式网卡不在列表中,右下角更改设置,
更改设置之后,vmware 重新加载设置,就能看到对应的桥接模式网卡,默认为自动模式
点击桥接模式,然后在下面可以看到它的设置选项,然后点击自动,这个时候可以看到前两天安装的virtualbox桥接网卡(没有卸载盒子网卡的情况下),以及主机自己的实际物理网卡。
这是自动模式将所有虚拟机的流量都导入到virtualbox的桥接网卡上面去了。这个时候我们点击实际的物理网卡名称。
然后它的模式就变成了实际的网卡名称,如下面图中所示。点击确定按钮保存配置。
然后我们回到虚拟机上,重新启动network这个服务,命令是:
systemctl restart network
重启完成后,可以看到获得了正确的ip地址,然后ping一下百度的网卡,可以看到有回复,到这里,网络就恢复正常了,可以判断是virtualbox的桥接网卡的问题。
情况二: 配置文件问题
由于在安装linux 时没有配置网络,或者机器中存在多个网络接口的情况下,就会导致网络接口配置文件没有自动配置。
文件 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口,如果机器中有多网络接口,
那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3......(这里面的文件是相当重要的,涉及到网络能否正常工作)。
vim ifcfg-ens33
没有启用, 修改为yes ,保存退出
service network restart 重启网络生效
设定项目项目如下:
*device : 接口名(设备,网卡)
*userctl [yes|no]: (非root用户是否可以控制该设备)
*bootproto : ip的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配ip|bootp协议|dhcp协议)
*hwaddr : mac地址
*onboot : 系统启动的时候网络接口是否有效(yes/no)
*type : 网络类型(通常是ethemet)
*netmask : 网络掩码
*ipaddr : ip地址
*ipv6init : pv6是否有效(yes/no)
*gateway : 默认网关ip地址
*broadcast: 广播地址
*network : 网络地址
====可参照下面的例子====
*device=eth0
*bootproto=static
*broadcast=192.168.1.255
*hwaddr=00:0c:2x:6x:0x:xx
*ipaddr=192.168.1.23
*netmask=255.255.255.0
*network=192.168.1.0
*onboot=yes
*type=ethernet
重启完成后,可以看到获得了正确的ip地址,然后ping一下百度的网卡,
ok,网络连接正常
习惯了用 ifconfig 网络命令 , 安装 ifconfig 命令
如果直接运行 ifconfig 命令,则提示错误 :-bash: ifconfig: command not found
此时,查看 /sbin 目录下,其实是没有 ifconfig 文件的。
那么 如何安装ifconfig 呢?我们首先想到的是 运行 yum install ifconfig 。执行效果如何呢?
哦豁,,,结果是:
no package ifconfig available.error: nothing to do
没有 ifconfig 安装包,是不是 我们就要放弃了呢? 其实,我们 还可以通过yum 命令的search选项 来对 包 (package)进行再次搜索。
search:可以搜寻某个软件名称或者是描述(description)的重要关键字。此指令可以查找显示出相关的软件有哪些。 所以,在放弃前,我们运行以下命令: yum search ifconfig
惊不惊喜? 意不意外,匹配到了
以上运行结果,我们只要分析最好一行就可以。matched: ifconfig 这个 分割行 是用来显示 匹配结果的。 最后一行 中 冒号(:)前面的数据,
(net-tools.x86_64 ) 是匹配的软件包;冒号(:)后面的数据,(basic networking tools ) 是对前面包的描述。
结合上面的信息,即 通过运行 yum search ifconfig 提示我们: 安装ifconfig 包 只需要安装 net-tools.x86_64 即可。 所以,我们执行 yum install net-tools.x86_64
安装后,ifconfig 命令可以正常执行。并且,查看/sbin 目录,此时 ifconfig 文件也出现了。