Linux网络配置
Ubuntu
IP配置文件样例
设置静态IP+DNS
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.30.140
netmask 255.255.255.0
gateway 192.168.30.1
$ cat /etc/resolvconf/resolv.conf.d/tail
nameserver 114.114.114.114
nameserver 223.5.5.5
关闭NetworkManager,设置managed=false
$ cat NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq
no-auto-default=00:0C:29:0D:63:D2,
[ifupdown]
managed=false
网桥配置
### 新增网桥
# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto ens3
iface ens3 inet static
address 192.168.200.13
netmask 255.255.255.0
gateway 192.168.200.1
auto br-mgmt
iface br-mgmt inet manual
### 重启网络服务
# systemctl restart networking
VLAN配置
# modprobe 8021q
# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto eth0.91
iface eth0.91 inet manual
vlan-raw-device eth0
auto br-ex
iface br-ex inet static
address 192.168.200.13
netmask 255.255.255.0
gateway 192.168.200.1
bridge_ports eth0
指定网卡名
### 关闭系统命名规则
# if grep -q 'net.ifnames=0 biosdevname=0' /etc/default/grub; then \
echo "nothing to do"; \
else \
sed -i -e 's/GRUB_CMDLINE_LINUX="[^"]*/& net.ifnames=0 biosdevname=0/g' /etc/default/grub; \
fi
# update-grub
### 为网卡生成自定义命名规则,其中ens4要修改为系统当前ip addr能看到的网卡名字(即系统命令的名字),eth12就是自己指定的名字可以随意
# touch /etc/udev/rules.d/70-persistent-net.rules
# if grep -q 'eth12' /etc/udev/rules.d/70-persistent-net.rules; then \
echo "nothing to do"; \
else \
ip addr show ens4 | grep link/ether | echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"`awk '{print $2}'`\", ATTR{dev_id}==\"0x0\", ATTR{type}==\"1\", KERNEL==\"eth*\", NAME=\"eth12\"" >> /etc/udev/rules.d/70-persistent-net.rules; \
fi
### 上面所有修改完成后重启虚拟机
# reboot
CentOS/Fedora
IP配置文件样例
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
HWADDR=00:0c:29:12:cc:db
IPADDR=192.168.30.11
NETMASK=255.255.255.0
GATEWAY=192.168.30.2
DNS1=114.114.114.114
DNS2=8.8.8.8
网桥配置
# yum install bridge-utils
### 新增网桥
# cat /etc/sysconfig/network-scripts/ifcfg-br-mgmt
TYPE=Bridge
BOOTPROTO=static
NAME=br-mgmt
DEVICE=br-mgmt
ONBOOT=yes
IPADDR=10.0.0.1
NETMASK=255.255.255.0
### 重启网络服务
# systemctl restart network
VLAN配置
# cat ifcfg-eth0.20
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0.20
DEVICE=eth0.20
ONBOOT=yes
IPADDR=10.0.0.1
NETMASK=255.255.255.0
BRIDGE=br-vxlan
VLAN=yes
# echo modprobe 8021q >> /etc/rc.modules
# chmod +x /etc/rc.modules
# systemctl disable NetworkManager
### 重启网络服务
# systemctl restart network
指定网卡名
方式一
### 生成eth0配置文件
# mv ifcfg-XX ifcfg-eth0
### 将NAME修改为ethX模式,DEVICE和HWADDR不动
# vim ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
ONBOOT=yes
NAME=eth0
DEVICE=XX
HWADDR=
# systemctl restart networking
方式二
### 修改GRUB_CMDLINE_LINUX属性添加net.ifnames=0 biosdevname=0,编辑完重启后网卡的命名方式自动变成ethX模式
# vim /etc/sysconfig/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb net.ifnames=0 biosdevname=0 quiet"
# grub2-mkconfig -o /boot/grub2/grub.cfg
### 生成eth0配置文件
# vim ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
ONBOOT=yes
NAME=eth0
DEVICE=eth0
# reboot
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥