Linux 网卡配置

本文介绍了在RHEL6系列、SUSE11和Ubuntu12.04中配置网络的方法,包括编辑配置文件如`/etc/sysconfig/network`、`/etc/network/interfaces`,设置MAC地址,管理网卡,定义DNS服务器,使用DHCP获取IP,以及修改hostname等步骤。

Linux中不同distribution中配置网络的方法大同小异。以下介绍RHEL6系列,SUSE11, Ubuntu12.04的配置

CentOS,RHEL

/etc/sysconfig/network

NETWORKING=yes            # 系统启动时是否启动网络
HOSTNAME=zhubinqiangPC    # 定义主机名

/etc/udev/rules.d/70-persistent-net.rules 得到网卡的MAC地址

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:58:5f:4b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

/etc/sysconfig/network-scripts/ifcfg-eth0 配置网卡

配置项有很多个,以下只列出部分重要的。具体可以参考 /usr/share/doc/initscripts-*/sysconfig.txt

DEVICE=eth0                 # 网卡代号,必须与ifcfg-eth0相对于
HWADDR=00:0c:29:58:5f:4b    # MAC 地址, 如果只有一个网卡,可以省略
TYPE=Ethernet               # 网络接口格式 这里是以太网格式
UUID=371ea884-5bb7-4e03-9913-127fd7e787ae    # nmcli con 可得到 未知什么意思
ONBOOT=yes                  # 开机启动
NM_CONTROLLED=yes           # controlled by NetworkManager
BOOTPROTO=static            # static 和 none 功能相同,表示手动配置, dhcp表示动态获取IP
IPADDR=192.168.1.211        # IP 地址
NETMASK=255.255.255.0       # 子网掩码
GATEWAY=192.168.1.1         # 默认网关,如果有多个网卡配置文件 只须配置一个即可
USERCTL=no                  # 是否允许非root用户控制该设备
PEERDNS=yes                 # yes表示由DHCP来获取DNS, no表示 /etc/resolv.conf 来控制
IPV6INIT=no                 # 是否允许IPV6

 
 

修改完配置文件要重启网络

/etc/init.d/network restart


通过ifconfig来配置网络

查看所有网卡

ifconfig -a

此配置在重启网络后会失效,恢复为ifcfg-eth0为主的配置

ifconfig eth0 192.168.0.211 netmask 255.255.255.0
ifconfig eth0 192.168.0.211/24


修改网卡MAC地址

ifconfig eth0 hw ether 00:0C:29:58:5F:4C

开启和禁用网卡

ifconfig eth0 up
ifconfig eth0 down

ifup和ifdown来激活与关闭网卡

用ifup来激活 ifcfg-eth0文件要配置正确, 实际是通过/sbin/ifup 来调用相关脚本。

注意  一旦用ifconfig 来激活 就不能用ifdown来关闭。 一定要ifconfig才行。因为ifdown会比较当前网络与ifcfg-eth0是否相同,如果不同放弃ifdown的操作

ifup eth0          #激活
ifdown eth0     #关闭

ifconfig eth0 up  #激活
ifconfig eth0 down   #关闭

/etc/resolv.conf 定义DNS服务器

# Generated by NetworkManager
domain localdomain           
search localdomain          # 查找计算机名是 默认属于该域
nameserver 192.168.157.2    # DNS 服务器地址, 可以配置多个

通过DHCP获取IP

通过修改ifcfg-ethX的BOOTPROTO=dhcp并重启网络  或者以下方法

dhclient eth0


/etc/hosts 配置

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6



修改hostname

1.修改/etc/sysconfig/network

2.修改/etc/hosts


Ubuntu12.04

参考官方文档 https://help.ubuntu.com/12.04/serverguide/network-configuration.html

通过lshw 得到MAC地址

lshw -c network
*-network
                description: Ethernet interface
                product: 79c970 [PCnet32 LANCE]
                vendor: Hynix Semiconductor (Hyundai Electronics)
                physical id: 1
                bus info: pci@0000:02:01.0
                logical name: eth0
                version: 10
                serial: 00:0c:29:77:82:a2
                width: 32 bits
                clock: 33MHz
                capabilities: bus_master rom ethernet physical logical
                configuration: broadcast=yes driver=pcnet32 driverversion=1.35 ip=192.168.157.183 latency=64 link=yes maxlatency=255 mingnt=6 multicast=yes
                resources: irq:19 ioport:2000(size=128) memory:d8400000-d840ffff

 
 


/etc/network/interfaces 配置网卡

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static       # 如果是dhcp 则把static改为dhcp
    hwaddress ether 00:13:20:f9:f4:d3   #MAC
    address 192.168.1.10     # IP 地址
    netmask 255.255.255.0    # 子网掩码
    gateway 192.168.1.1      # 网关

重启网络 生效配置

/etc/init.d/networking restart

/etc/hosts 配置

127.0.0.1   localhost
127.0.1.1   zbq-pc
192.168.157.136 zbq-pc
192.168.157.151 itms-server

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

hostname 修改 /etc/hostname


SUSE11

cat /etc/udev/rules.d/70-persistent-net.rules 查看MAC 

修改 /etc/sysconfig/network/ifcfg-eth0

BOOTPROTO='dhcp'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NAME='82545EM Gigabit Ethernet Controller (Copper)'
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'

重启网络

/etc/init.d/network restart


修改hostname:/etc/HOSTNAME














<think>首先,用户的问题是基于之前的引用,询问Linux系统中进行网卡设置的方法。引用提供了四种主要方法:VIM文本编辑器、nm-connection-editor、通过“网络图标”配置、nmtui字符界面配置,以及一些额外信息如ethtool修改网卡速率、多网卡设置、NetworkManager管理等。 我的系统指令指定了格式: - 行内数学表达式用$...$(但这里可能不涉及数学表达式)。 - 独立公式用$$...$$(同样不适用)。 - LaTeX语法正确(确保代码块正确)。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾添加引用标识,如[^1]。 回答结构要清晰,帮助用户逐步解决问题。用户的问题是“请问Linux系统网卡设置方法”,所以我需要组织内容,覆盖主要方法。 关键引用: - [^1]:描述了四种配置网卡方式:VIM文本编辑器、nm-connection-editor、网络图标配置、nmtui。 - [^2]:关于设置网卡速率和模式使用ethtool。 - [^3]:多网卡多网关设置。 - [^4]:网卡设置相关,如NetworkManager。 用户上一次的问题和我的回答:用户的问题是“我想查找在Linux系统中进行网卡设置的方法”,引用了这些内容。我需要参考这些来回答。 步骤: 1. **介绍主题**:简要解释Linux网卡设置的重要性。 2. **详细方法**:基于引用[^1],描述四种主要配置方法。引用中提到适用于RHEL8.5和7,所以需注意。 3. **其他相关设置**:包括速率修改[^2]、多网卡设置[^3]、NetworkManager管理[^4]。 4. **添加引用标识**:在描述每个方法时,从引用中抽取内容,并在末尾添加引用标识。 5. **生成相关问题**:在末尾生成相关问题,遵循示例格式。 结构回答: - 标题或清晰段落划分。 - 使用代码块展示命令。 - 确保中文。 最终回答应包括: 1. 介绍。 2. 主要方法(四种)。 3. 额外设置(如速率、多网卡)。 4. 常见问题和注意事项。 5. 相关问题。 生成相关问题: - 类似示例,基于主题生成2-3个问题。 引用标识:例如,在描述VIM方法后添加[^1]。 </think>### Linux系统网卡设置方法详解 在Linux系统中,配置网卡是实现网络连接的基础操作。网卡设置涉及IP地址分配、速率调整、多网卡管理等,不同发行版(如RHEL或Ubuntu)可能有细微差异,但核心方法类似。以下是基于系统引用和Linux最佳实践的详细指南,覆盖常用场景。设置前请确保您有管理员权限(使用`sudo`命令),并备份配置文件以防意外错误。引用内容主要针对RHEL系统,但方法可推广到其他发行版(如Debian/Ubuntu需调整路径或命令)。 #### 一、主要网卡配置方法(基于文本或图形界面) Linux提供多种方式配置网卡,以下是四种最常用的方法(参考引用[^1])。 1. **使用VIM文本编辑器(命令行方式)** 这是最基础的方法,适用于所有Linux系统,尤其是无图形界面的服务器环境。 - **步骤**: - 进入网卡配置目录:`cd /etc/sysconfig/network-scripts/` - 查看网卡名称:`ls`(通常为`ifcfg-ens160`或类似) - 编辑网卡配置文件:`vim ifcfg-ens160`(替换`ens160`为您的网卡名) - 在编辑模式下输入配置参数(示例配置): ```bash TYPE=Ethernet # 设备类型 BOOTPROTO=static # 地址分配模式(static为静态IP,dhcp为动态) NAME=ens160 # 网卡名称 ONBOOT=yes # 是否启动时启用 IPADDR=192.168.10.20 # IP地址 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.10.1 # 网关地址 DNS1=192.168.10.1 # DNS地址 ``` - 保存并退出(在VIM中按`:wq`),然后重启网卡: - RHEL 8及以上:`nmcli connection reload ens160`(替换`ens160`为网卡名) - RHEL 7:`systemctl restart network` - **优点**:灵活、适用于脚本自动化。**缺点**:需手动输入命令,新手易出错[^1]。 2. **使用nm-connection-editor(图形界面工具)** 适用于有图形界面的桌面系统,操作直观。 - **步骤**: - 打开终端,输入命令:`nm-connection-editor` - 在弹出的窗口中选择“Ethernet”下的网卡(如`ens160`),点击齿轮图标编辑。 - 在“General”选项中勾选“Automatically connect to this network when it is available”。 - 切换到“IPv4 Settings”标签页,选择“Manual”,在“Addresses”中添加IP地址(格式:IP/子网掩码,如`192.168.10.20/24`)。 - 点击“Save”保存,重启网卡生效(可通过系统设置重启网络服务)。 - **优点**:用户友好,适合桌面用户。**缺点**:依赖图形环境[^1]。 3. **通过“网络图标”配置(桌面系统内置)** 类似方法2,但使用系统托盘的网络图标,适用于Ubuntu等发行版。 - **步骤**: - 点击桌面右上角的“Wired Settings”图标。 - 开启“Wired”开关(设为ON),点击齿轮图标进入设置。 - 选择“IPv4”标签页,切换到“Manual”模式,输入IP地址、子网掩码等。 - 点击“Apply”保存设置,关闭并重新开启网络连接(相当于重启网卡)。 - **优点**:无需命令,操作简单。**缺点**:仅限桌面环境[^1]。 4. **使用nmtui(字符界面图形工具)** 适用于无图形界面的系统,提供菜单式交互。 - **步骤**: - 终端输入命令:`nmtui` - 使用方向键选择“Edit a connection”,然后选择目标网卡(如`ens160`)。 - 在编辑界面输入IP地址(格式:`IP地址/24`表示子网掩码255.255.255.0)、网关等。 - 点击“OK”保存,退出后重启网卡(命令同方法1)。 - **优点**:结合命令行和图形优点,适合远程管理。**缺点**:功能相对基础[^1]。 #### 二、其他常见网卡设置(扩展功能) 除了基本IP配置,还需考虑速率调整、多网卡管理等问题。 - **修改网卡速率和双工模式** 使用`ethtool`命令优化网络性能(参考引用[^2])。 - 查看当前速率:`ethtool eth1`(替换`eth1`为网卡名),显示自适应模式下的速率(如1000Mb/s全双工)。 - 修改速率(示例命令): - 设为100Mb/s半双工(非自适应):`ethtool -s eth1 speed 100 duplex half autoneg off` - 恢复自适应模式:`ethtool -s eth1 autoneg on` - **注意**:修改后需重启网卡生效。适用于调优网络延迟或兼容旧设备[^2]。 - **多网卡多网关设置** 在服务器环境中管理多个网卡(参考引用[^3])。 - **场景示例**:两张网卡(`eth0`和`ib0`),`eth0`配置网关,`ib0`不配网关。 - 创建路由文件:在`/etc/sysconfig/network-scripts/`下新建`route-ib0`,内容: ```bash 10.200.1.0/24 via 10.206.210.254 dev ib0 # 指定网段路由 ``` - 执行命令生效:`ip route add 10.200.1.0/24 via 10.206.210.254 dev ib0` - **优点**:支持负载均衡或隔离流量。**缺点**:配置复杂,需测试路由规则[^3]。 - **管理NetworkManager服务** 控制网络管理器以优化设置(参考引用[^4])。 - 临时停止:`systemctl stop NetworkManager`(避免干扰手动配置)。 - 永久关闭:`systemctl disable NetworkManager`(适用于纯命令行环境)。 - 重启网卡:`systemctl restart network`(配置生效后)。 - 设置网卡开机自启:编辑网卡配置文件(如`ifcfg-ens33`),将`ONBOOT=no`改为`ONBOOT=yes`[^4]。 #### 三、注意事项和常见问题 - **通用建议**: - 修改配置后,始终重启网卡服务(命令:`systemctl restart network`或`nmcli connection reload`)。 - 测试连接:使用`ping`或`ip addr show`检查IP是否生效。 - 故障排查:如果配置无效,检查NetworkManager状态(`systemctl status NetworkManager`),或查看日志(`journalctl -u network.service`)。 - **系统差异**: - RHEL/CentOS使用上述路径,Ubuntu/Debian可能使用`/etc/netplan/`配置文件(需用`netplan apply`生效)。 - **风险提示**:错误配置可能导致网络中断,建议在测试环境操作或备份文件(如`cp ifcfg-ens160 ifcfg-ens160.bak`)。 通过以上方法,您可以灵活管理Linux网卡设置。如果需要更高级功能(如VLAN或绑定),请参考Linux文档或社区资源。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值