linux 网卡配置

linux网卡可以通过命令和配置文件配置,如果是桌面环境还可以通过图形化界面配置.

1.ifconfig(interfaces config)命令方式

通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置(用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在)。

1.1命令格式
ifconfig [网络设备] [参数]
1.2命令功能

ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

1.3命令参数
  1. up 启动指定网络设备/网卡。
  2. down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
  3. arp 设置指定网卡是否支持ARP协议。
    -promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
    -allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
    -a 显示全部接口信息
    -s 显示摘要信息(类似于 netstat -i)
  4. add 给指定网卡配置IPv6地址
  5. del 删除指定网卡的IPv6地址
  6. <硬件地址> 配置网卡最大的传输单元
  7. mtu<字节数> 设置网卡的最大传输单元 (bytes)
  8. netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。
  9. tunel 建立隧道
  10. dstaddr 设定一个远端地址,建立点对点通信
  11. -broadcast<地址> 为指定网卡设置广播协议
  12. -pointtopoint<地址> 为网卡设置点对点通讯协议
  13. multicast 为网卡设置组播标志
  14. address 为网卡设置IPv4地址
  15. txqueuelen<长度> 为网卡设置传输列队的长度
1.4使用实例
1.4.1显示网络设备信息(激活状态的)

命令:ifcofig
输出:

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:20  
          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB)

说明

  • eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是 00:50:56:BF:26:20
  • inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.120.204,广播地址, Bcast:192.168.120.255,掩码地址Mask:255.255.255.0
  • lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
  • 第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)
  • 第二行:网卡的IP地址、子网、掩码
  • 第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节
  • 第四、五行:接收、发送数据包情况统计
  • 第七行:接收、发送数据字节数统计信息。
1.4.2启动关闭指定网卡

命令
ifconfig eth0 up
ifconfig eth0 down
输出
说明
ifconfig eth0 up 为启动网卡eth0 ;ifconfig eth0 down 为关闭网卡eth0。ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

1.4.3为网卡配置和删除IPv6地址

命令
ifconfig eth0 add 33ffe:3240:800:1005::2/64
ifconfig eth0 del 33ffe:3240:800:1005::2/64
输出
说明
ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡eth0配置IPv6地址;
ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡eth0删除IPv6地址;
练习的时候,ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

1.4.4用ifconfig修改MAC地址

命令
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
输出

[root@localhost ~]# ifconfig eth0 down //关闭网卡
[root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@localhost ~]# ifconfig eth0 up //启动网卡
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:AA:BB:CC:DD:EE  
          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB)
[root@localhost ~]# ifconfig eth0 hw ether 00:50:56:BF:26:20 //关闭网卡并修改MAC地址
[root@localhost ~]# ifconfig eth0 up //启动网卡
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:20  
          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB)
1.4.5配置IP地址

输出:

[root@localhost ~]# ifconfig eth0 192.168.120.56
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255

说明:
ifconfig eth0 192.168.120.56
给eth0网卡配置IP地:192.168.120.56
ifconfig eth0 192.168.120.56 netmask 255.255.255.0
给eth0网卡配置IP地址:192.168.120.56 ,并加上子掩码:255.255.255.0
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
/给eth0网卡配置IP地址:192.168.120.56,加上子掩码:255.255.255.0,加上个广播地址: 192.168.120.255

1.4.6启用和关闭ARP协议

命令
ifconfig eth0 arp
ifconfig eth0 -arp
输出

[root@localhost ~]# ifconfig eth0 arp
[root@localhost ~]# ifconfig eth0 -arp

说明
ifconfig eth0 arp 开启网卡eth0 的arp协议;
ifconfig eth0 -arp 关闭网卡eth0 的arp协议;

1.4.7 设置最大传输单元

命令
ifconfig eth0 mtu 1500
输出

[root@localhost ~]# ifconfig eth0 mtu 1480
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:1F  
          inet addr:192.168.120.203  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1480  Metric:1
          RX packets:8712395 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36631 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:597062089 (569.4 MiB)  TX bytes:2643973 (2.5 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:518096 (505.9 KiB)  TX bytes:518096 (505.9 KiB)

[root@localhost ~]# ifconfig eth0 mtu 1500
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:BF:26:1F  
          inet addr:192.168.120.203  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8712548 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36685 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:597072333 (569.4 MiB)  TX bytes:2650581 (2.5 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:518096 (505.9 KiB)  TX bytes:518096 (505.9 KiB)

[root@localhost ~]#

说明:
设置能通过的最大数据包大小为1500bytes

2.配置文件方式

ubuntu配置文件:/etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0 #配置静态ip
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1

centos配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0(默认)
HWADDR=00:0C:29:2E:36:16(默认)
TYPE=Ethernet(默认)
UUID=XXXXXXX(默认)
ONBOOT=yes(默认为no,修改为yes意为每次reboot后 ifup eth0)
MM_CONTROLLED=yes(默认)
#BOOTPROTO=dhcp(dhcp为自动分配ip地址,我们把他注释了,在下面另外加)
BOOTPROTO=static(新添加)
IPV6INIT=no(新添加)
USERCTL=no(新添加)
IPADDR=192.168.164.100(新添加)
NETMASK=255.255.255.0(新添加)

service network restart重启网卡服务

3.图形界面方式
添加虚拟网卡

一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍几种方式在linux服务器上添加虚拟网卡.
比如向eth0中添加一块虚拟网卡:

1.快速创建删除虚拟网卡

sudo ifconfig eth0: 192.168.10.10 up
以上的命令就可以在eth0网卡上创建一个叫eth0:0的虚拟网卡,他的地址是:192.168.1.63
如果不想要这个虚拟网卡了,可以使用如下命令删除:

sudo ifconfig eth0:0 down

重启服务器或者网络后,虚拟网卡就没有了.

2.修改网卡配置文件

在ubuntu下,网卡的配置文件是/etc/network/interfaces,所以我们修改它:
sudo vim /etc/network/interfaces
在这个文件中增加如下内容并保存:

auto eth0:0
iface eth0:0 inet static
address 192.168.10.10
netmask 255.255.255.0
#network 192.168.10.1
#broadcast 192.168.1.255

保存后,我们需要重启网卡(重新加载配置文件)才会生效,使用如下命令重启:sudo /etc/init.d/networking restart
他的优点是重启服务器或者网卡配置不会丢失。

3.创建tag

前两种方法都有一个特点,创建的网卡可有不同的ip地址,但是Mac地址相同。无法用来创建虚拟机。
添加虚拟网卡tap

tunctl -b

其他配置命令:

显示网桥信息:brctl show
添加网桥:brctl addbr virbr0
激活网桥:ip link set virbr0 up
添加虚拟网卡tap:tunctl -b
tap0 -------> 执行上面使命就会生成一个tap,后缀从0,1,2依次递增
激活创建的tap:ip link set tap0 up
将tap0虚拟网卡添加到指定网桥上:brctl addif br0 tap0

给网桥配制ip地址:ifconfig virbr1 169.254.251.4 up
将virbr1网桥上绑定的网卡eth5解除:

brctl delif virb1 eth5                                                  ```
给virbr1网桥添加网卡eth6:`brctl addif virbr1 eth6  `

`

<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文档或社区资源。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值