想要连接 Internet 需要配置一组合法的 IP 参数,主要是 IP、Netmask、Gateway、DNS IP 以及主机名称,其实整个主机最重要的配置就是“先要驱动网卡”,否则主机练网卡都识别不到,再怎么配置 IP 参数都没用。一个主机是可以有多个网卡的,每个网卡都有单独的 MAC 地址。
Linux 的网卡
认识网卡设备的名称
在 Linux 系统中,各种设备几乎都是以文件名来表示的。不过网卡(Network Interface Card, NIC)的名称却是以网卡内核模块对应的设备名称来表示的,而默认的网卡名称为 eth0,第二张网卡则为 eth1,以此类推(不同的网卡默认网卡名称可能会不同,可以修改)
关于网卡的内核模块(驱动程序)
网卡是硬件,因此需要内核的支持才能驱动它。目前新版的 Linux distributions 默认可以支持的网卡芯片已经很完备了,如果网卡太新了或者需要一些特殊功能,可以通过以下两种方式让内核支持该网卡。重新编译内核
编译网卡的内核模块
这两种方法都比较麻烦,而且更新内核的时候需要重新手动编译该模块
观察内核所捕捉到的网卡信息
如果你的主机已经安装好了网卡,可以用 一下命令查看网卡信息。
# 查看 Linux 内核中网络接口的网络参数 ifconfig # 查看网卡信息 dmesg | grep -in eth # 查询相关的设备芯片数据 lspci | grep -i ethernet(注意:本人用的联想笔记本电脑,连接的无线网,以下截图和不同电脑可能会有所出入)
观察网卡的模块
根据上图,我们可以看到该网卡的模块为 alx
# 查看网卡是否顺利加载 lsmod | grep alx # 查看模块信息 modinfo alx 编译网卡驱动程序如果没有特殊需求,不建议自己个编译网卡的驱动程序,更新内核需要重新编译网卡驱动程序,很麻烦。一下为简要步骤:
取得官方网站的驱动程序
解压缩与编译
模块的测试与处理
# 删除旧模块 remod alx # 加载新模块,查阅信息 modprobe alx modinfo alx设定开机自动启动网卡模块
# 编辑文件 vim /etc/modprobe.d/ether.conf # 写入内容 alias eth0 alx # 同步,重启 sync; reboot尝试配置 IP
ifconfig eth0 192.168.1.100 ifconfig # 设置好了之后可以 ping 一下网络内的其他计算机,看是否有相应 Linux 网络相关配置文件 所需网络参数 主机配置文件名 重要参数IP
Netmask
DHCP
Gateway /etc/sysconfig/net-work-scripts/ifcfg-eth0 DEVICE=网卡名称
BOOTPROTO=是否使用 dhcp
HWADDR=是否加入网卡 MAC 地址
IPADDR=IP 地址
NETMASK=子网掩码
ONBOOT=要不要默认启动此接口
GATEWAY=网关地址
主机名 /etc/sysconfig/network NETWORKING=要不要使用网络
NETWORKING_IPV6=是否支持IPv6
HOSTNAME=主机名
DNS IP /etc/resolv.conf Name Server DNS 的 IP 地址
私有 IP 对应的主机名 /etc/hosts 私有主机名 别名
网络方面的启动命令 # 重启整个网络,两个命令效果一样 /etc/init.d/network restart service network restart # 启动或关闭网络接口 ifup eth0 ifdown eth0 连接 Internet 的设置方法
连接网络因特网的方法本文就不介绍了,下文只介绍网络的配置
网络配置文件从上文中我们得知 IP 相关参数配置在 /etc/sysconfig/net-work-scripts/ifcfg-eth0 里,ifcfg-eth0是配置文件,不同电脑、配置会有不同的文件及文件名,以下是文件内的配置
# ==============以下是 基础配置============== HWADDR=08:00:27:71:85:BD # 网卡 MAC 地址,若只有一张网卡,可省略 TYPE=Ethernet # 网络类型,有线还是无线 Ethernet|Wireless PROXY_METHOD=none # 代理方式:关闭状态 BROWSER_ONLY=no # 只是浏览器:否 BOOTPROTO=dhcp # 网卡的引导协议:如果手动配置可以设置为 static|none,如果自动分配 IP ,设置为 dhcp DEFROUTE=yes # # 默认路由:是 IPV4_FAILURE_FATAL=no # 是不开启IPV4致命错误检测:否 IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy # 以上为 IPV6 相关 NAME=enp2s0 # 网卡物理设备名称 UUID=b35c2XXX-XXXX-XXXX-8eXX-b03b52XXXXXXX # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用 DEVICE=enp2s0 # 网卡设备名称, 必须和 `NAME` 值一样 ONBOOT=yes # 是否开机启动 # ==============以下是 无线网络配置(以 基础配置 为基础)============== ESSID=lalalademaxiya # 无线网络名称 MODE=Managed # 无线网模式 KEY_MGMT=WPA-PSK # 加密方式 SECURITYMODE=open MAC_ADDRESS_RANDOMIZATION=default TYPE=Wireless # ==============以下是 固定 IP 配置(以 基础配置 为基础)============== BOOTPROTO=static IPADDR=192.168.0.81 # IP GATEWAY=192.168.0.1 # 默认路由 NETMASK=255.255.255.0 # 子网掩码 DNS1=192.168.0.1在 /etc/resolv.conf 配置 DNS,如下:
vim /etc/resolv.conf
nameserver 202.96.199.133
主机名的修改、启动、与查看
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=www.centos.test