本文仅使用命令行进行网络配置,其实使用GUI配置也是没问题。
基本网络设置文件
首先最重要的目录,这里存放了网络配置的文件,基于GUI的网络设置也是修改这里的文件。
/etc/sysconfig/network-scripts
具体要使用什么文件,可以用命令 ifconfig 查看到;下面是我centos7 的输出。这里看到lo,是本地环路地址的设备名称,可见ip是127.0.0.1;然后还有一个ens33,这个就是当前连接网络使用的设备名称。ens33没有显示ip,是因为采用了DHCP,但在本地网络中并没有DHCP服务器,所以是没有IP的。
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:6e:fa:33 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 368 bytes 31952 (31.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 368 bytes 31952 (31.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
进入目录
cd /etc/sysconfig/network-scripts
ls查看一下目录文件,可以见到有一个ifcfg-ens33的文件,这个就是管理上门ens33设置的文件,通过GUI的网络设置也是修改该文件。我们可以直接修改该文件进行网络设置。
我本人是在win上通过vmware安装的centos,而且网络ip多,所以采用桥接模式来进行网络配置。桥接模式下centos与我的win是处于同一个网段。
具体vmware的三种网络模式建议看Vmware虚拟机三种网络模式详解
我在win上查看到ip是192.168.0.146,网关是192.168.0.1,所以我只需要配置centos属于该192.168.0.1/24 网段,网关设置为192.168.0.1即可。下面是该ifcfg-ens33修改后的内容
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPADDR=192.168.0.145
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e1bced82-59ec-4234-b6bc-97d6e8c57bbd
DEVICE=ens33
ONBOOT=yes
修改完后需要手动重启一下网络;输入命令service network restart;此时再输入ifconfig查看一下ip,就会发现ens33这个interface有了ip。
发现bug,win可以ping到centos,centos ping不到win,但可以ping到网关192.168.0.1;看来是ICMP报文被win防火墙过滤了。
去修改一下防火墙规则,开启ICMP相关的规则。参考虚拟机ping不通主机,但是主机可以ping通虚拟机
恩,到此网络配置算是结束,可以开始愉快地使用Linux了。