Linux配置网络
nanshan 2024-11-20 19:27 12 浏览 0 评论
1、网卡名配置相关文件
回到顶部
网卡名命名规则文件:
/etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:db:c9:5c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:db:c9:66", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
修改网卡命名示例:
1、查看网卡的驱动并且卸载网卡驱动
[root@rhel6 ~]# ethtool -i eth0
driver: e1000 #网卡驱动
[root@rhel6 ~]# modprobe -r e1000 #卸载网卡驱动
2、修改70-persistent-net.rules文件
3、重新加载网卡驱动并且重启网络服务
[root@rhel6 ~]# modprobe e1000 #重新加载网卡驱动
[root@rhel6 ~]# /etc/rc.d/init.d/network restart #重启网络服务
将CentOS7.x网卡名改为传统命名方式:
1、修改/etc/default/grbu文件
# sed -i.bak -r 's/(GRUB_CMDLINE_LINUX=.*)"/\1 net.ifnames=0"/' /etc/default/grub
2、生成新的grub配置文件并重启生效
grub2-mkconfig -o /etc/grub2.cfg
2、网络配置相关文件
网络配置参考文件:/usr/share/doc/initscripts-9.03.53/sysconfig.txt
网卡的配置在:/etc/sysconfig/network-scripts/下,配置文件:ifcfg-网卡名
配置文件示例:
[root@rhel6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=static|dhcp|noneIPADDR=192.168.0.6NETMASK=255.255.255.0#PREFIX=24 #子网掩码GATEWAY=192.168.0.1DNS1=114.114.114.114DNS2=8.8.8.8DNS3=1.1.1.1TYPE=EthernetONBOOT=yesHWADDR=00:0C:29:DB:C9:5C#MACADDR=00:0C:29:DB:C9:5A #修改MAC地址UUID=38d329c5-b1bb-491b-a669-47422cfda764NM_CONTROLLED=no
网络配置文件常用配置参数详解:
- DEVICE:此配置文件应用到的设备
- HWADDR:对应的设备的MAC地址
- BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
- NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议为“no”(NetworkManager:图形界面的网络配置工具,不支持桥接,强烈建议关闭)
- ONBOOT:在系统引导时是否激活此设备
- TYPE:接口类型,常见有的Ethernet, Bridge
- UUID:设备的惟一标识
- IPADDR:指明IP地址
- NETMASK:子网掩码
- GATEWAY: 默认网关
- DNS1:第一个DNS服务器指向
- DNS2:第二个DNS服务器指向
- USERCTL:普通用户是否可控制此设备
- PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中
3、其他相关配置文件
路由配置文:/etc/sysconfig/network-scripts/route-interface
- NETWOEK/NETMASK via GATEWAY
DNS配置文件:/etc/resolv.conf
- nameserver DNS_IP
本地网络解析配置文件:/etc/hosts
- IP hostname alias
主机名配置文件:
- centos6.x:/etc/sysconfig/network
- centos7.x:/etc/hostname
二:关于网络的配置Tools
①ifconfig
- -a:查看启用和被禁用的网卡信息
- interface {up|down}:启用或禁用网卡
- interface IP/NETMASK:临时设置IP
- interface [-]promisc:设置网卡的工作在混杂模式
- -s interface:查看指定网卡的流量信息
②route
- -n:以数字方式显示,不解析,提高效率
- add {-net | -host} NETWORK/NETMASK gw GATEWAY dev DEVICE 添加路由
- {add | del} default gw GATEWAY 添加或删除默认路由
- del {-net | -host} NETWORK/NETMASK gw GATEWAY 删除路由
route add -net 10.0.0.0/8 gw 172.20.0.1 dev eth1 #添加一条到10.0.0.0网段的路由
route del -net 10.0.0.0/8 gw 172.20.0.1 #删除10.0.0.0网段的路由
③netstat
- -n:以数字方式显示,不解析,提高效率
- -r:查看路由表
- -t:TCP相关
- -u:UDP相关
- -w:裸套接字
- -l:查看处于监听状态的端口
- -a:查看所有状态的端口
- -e:显示更详细的信息
- -p:查看相关的进程PID
- -i:显示网卡流量
- -Iinterface:查看指定网卡的流量信息 == ifconfig -s interface
[root@centos7 ~]# netstat -tnulp #显示TCP,UDP的监听状态及相关进程的端口
④ip
- linkset interface {up|down}:启用或禁用网卡show interface:显示指定网卡信息
- addradd IP/NETMASK [label interface:#] [scope {global | link | host}] [broadcast IP] dev interface:添加配置临时地址label:指定别名scope:作用域global:作用域为全局link:仅和此网卡相连的网络生效host:仅主机可用broadcast:设定广播地址del dev interface [label interface:#]:删除IPflush dev interface [label interface:#]:清空IP
- routeadd IP/NETMASK via GATEWAY dev interface:添加路由add default via GATEWAY dev interface:添加默认路由del IP/NETMASK via GATEWAY dev interface:删除路由flush:清空路由表show:查看路由表
[root@centos7 ~]# ip addr add 192.168.1.100/24 label eth0:0 dev eth0 #设置临时IP地址
⑤ss
- -n:以数字方式显示,不解析,提高效率
- -t:TCP相关
- -u:UDP相关
- -w:裸套接字
- -x:显示unix sock相关信息
- -l:查看处于监听状态的端口
- -a:查看所有状态的端口
- -e:显示更详细的信息
- -p:查看相关的进程PID
- -m:内存用量
- -o:计时器信息
- -s:显示当前socket详细信息
- state TCP_STATE '( dport = :ssh or sport = :ssh )'establishedlistenfin_wait_1fin_wait_2syn_sentsyn_recv
[root@centos7 ~]# ss state established '( dport = :ssh or sport = :ssh )' #查看已连接状态的ssh
⑥nmcli:地址配置工具(CentOS7.x)
子命令补全功能:yum install bash-completion ,依赖epel源
1、查看信息
[root@centos7 ~]# nmcli device status
[root@centos7 ~]# nmcli connection show
2、删除配置
[root@centos7 ~]# nmcli connection delete ens33
3、增加配置
[root@centos7 ~]# nmcli connection add con-name ens33 ifname ens33 type ethernet ipv4.method auto connection.autoconnect yes
- con-name ens33:配置文件名称
- ifname ens33:指定网卡设备
- type ethernet:网络类型以太网
- ipv4.method auto:自动获取IP
- connection.autoconnect yes:开机自启动
4、切换配置
[root@centos7 ~]# nmcli connection up ens33
5、修改配置文件名ens33 --> ens33-static
[root@centos7 ~]# nmcli connection modify ens33 con-name ens33-static
6、修改配置IP
[root@centos7 ~]# nmcli connection modify ens33-static ipv4.addresses 192.168.0.100/24 ipv4.gateway 192.168.0.1 ipv4.method manual
- ipv4.addresses 192.168.0.100/24:IP地址
- ipv4.gateway 192.168.0.1:网关
- ipv4.method manual:手动获取,静态地址必须配置为手动,否则默认动态
7、重新读取配置文件
[root@centos7 ~]# nmcli connection reload
8、断开和连接网络连接
[root@centos7 ~]# nmcli device disconnect ens33
[root@centos7 ~]# nmcli device connect ens33
9、查看网络配置的详细信息
[root@centos7 ~]# nmcli connection show ens33
10、在配置中再添加一个地址
[root@centos7 ~]# nmcli connection modify ens33-static +ipv4.addresses 10.0.0.2/8
三:其他相关工具
ping:测试网络命令
- -c count:ping的次数
- -W timeout:超时时间,配合-c使用
- -I ipaddress:指定用自己主机的IP去ping对方主机
- -s size:每次ping发出的数据包大小,最大值65507
- -f:竭尽自己主机的能力发出数据包
[root@centos7 ~]# ping -c1 -W1 192.168.0.6 #脚本中常用的ping测试,ping一次,超时时间1s
[root@centos7 ~]# ping -s 65507 -f 192.168.0.6 #竭尽自己所能,向192.168.0.6发出大数据包,ddos攻击
tcpdump:抓包工具
- -n:禁止解析IP
- -i interface:指定网卡接口
- tcp|udp|icmp|arp:指定包协议
mtr:网络诊断工具
traceroute:跟踪路由
tracepath:跟踪路由
ifup:启用网卡
ifdown:禁用网卡
setup:字符界面配置工具(centos6.x)
system-config-network-tui:字符界面网络配置工具(centos6.x)
hostnamectl:设置主机名工具(centos7.x)
- status
- set-hostname HOSTNAME
mm-connection-editor:图形界面网络配置工具(centos7.x)
nmtui:字符界面配置工具(centos7.x)
- nmtui-connect
- nmtui-edit
- nmtui-hostname
lftp | lftp [-u user[,pass]] [-p port] [-e cmd] FTPSERVER:FTP客户端工具
- get
- mget
- put
- mput
- mirror DIR
lftpget URL:非交互式下载ftp服务器的文件
wget:网络下载工具
- -q:静默模式
- -c:断点续传
- -P /path/DIRNAME:下载的文件保存到指定文件夹
- -O /path/FILENAME:下载的文件保存到指定位置,并重命名
- --limit-rate=# K|M:限速至# K|M
elinks | links:字符界面web浏览器
- -source:查看网页源代码
- -dump:只显示文字
四:Bonding和Team
++Bonding++
绑定:将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。
回到顶部
工作模式:
mode 0:balance-rr 轮调策略:多张网卡可以轮流发数据包,实现负载均衡的功能
mode 1:active-backup 主备策略:其中active网卡的发数据包,其他备用
mode 3:broadcast 广播策略:每个网卡都会发一份包
配置示例:
1、创建bonding的设备配置文件
# cat >/etc/sysconfig/network-scripts/ifcfg-bond0 <<EOF
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS="miimon=100 mode=1"
IPADDR=192.168.0.6
PREFIX=24
EOF
miimon=100:每100ms进行一次链路检测
2、配置bonding的从属网卡
[root@rhel6 ~]# cat >/etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
EOF
[root@rhel6 ~]# cat >/etc/sysconfig/network-scripts/ifcfg-eth1 <<EOF
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
EOF
3、重启网络服务并查看bonding状态
# /etc/rc.d/init.d/network restart
[root@rhel6 ~]# cat /proc/net/bonding/bond0 |head
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0 #现在eth0在工作状态
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
回到顶部
删除bonding配置示例:
1、禁用bond0并卸载bonding模块
# ip link set bond0 down
# modprobe -r bonding
2、还原配置文件,重启网络
附:官方文档链接
++Team++
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量。
工作模式:runner
- broadcast:广播
- roundrobin:轮调
- activebackup:主备
1、创建一个网络组接口
[root@centos7 ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
2、配置team0
[root@centos7 ~]# nmcli connection modify team0 ipv4.addresses 172.20.108.244/16 ipv4.method manual ipv4.gateway 172.20.0.1
3、创建port接口
[root@centos7 ~]# nmcli connection add con-name team0-eth1 type team-slave ifname eth1 master team0
[root@centos7 ~]# nmcli connection add con-name team0-eth2 type team-slave ifname eth2 master team0
4、启动team0及从属接口
[root@centos7 ~]# nmcli connection up team0
[root@centos7 ~]# nmcli connection up team0-eth1
[root@centos7 ~]# nmcli connection up team0-eth2
5、查看工作状态
[root@centos7 ~]# teamdctl team0 state
6、配置文件示例:
ifcfg-team0配置文件
7、删除team0
[root@centos7 ~]# nmcli connection down team0
[root@centos7 ~]# nmcli connectioni delete team0-eth0
[root@centos7 ~]# nmcli connectioni delete team0-eth1
五:Bridge
桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。
主机A发送的报文被送到交换机S1的eth0口,由于eth0与eth1、eth2桥接在一起,故而报文被复制到eth1和eth2,并且发送出去,然后被主机B和交换机S2接收到。而S2又会将报文转发给主机C、D。
1、创建一个网桥
[root@centos7 ~]# nmcli connection add type bridge con-name br0 ifname br0
2、配置网桥
[root@centos7 ~]# nmcli connection modify br0 ipv4.addresses 192.168.0.7/24 ipv4.method manual
3、将从属网卡加入网桥
[root@centos7 ~]# nmcli connection add type bridge-slave con-name br0-eth0 ifname eth0 master br0
4、启用网桥并查看状态
[root@centos7 ~]# nmcli connection up br0
[root@centos7 ~]# nmcli connection up br0-eth0
[root@centos7 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c295df21e yes eth0
5、配置文件示例:
[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
STP=yes
BRIDGING_OPTS=priority=32768
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
UUID=94582afc-01a1-406d-a25a-91be7c350c23
ONBOOT=yes
IPADDR=192.168.0.7
PREFIX=24
[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0-eth0
TYPE=Ethernet
NAME=br0-eth0
UUID=9dd2a7fc-f143-4243-89ca-85f223e34348
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
相关推荐
- Linux/Unix 系统中非常常用的命令
-
Linux/Unix系统中非常常用的命令,它们是进行文件操作、文本处理、权限管理等任务的基础。下面是对这些命令的简要说明:**文件操作类:*****`ls`(list):**列出目录内容,显...
- 教你如何在Linux中删除分区(CLI篇)
-
文接上篇,继续以Ubuntu系统为例。删除分区前,急得重要数据备份!备份!备份用命令操作分区,用的最多的莫过于fdisk了,几乎所有的Linux发行版都默认带有fdisk。首先要知道的是,你想删除的分...
- 敲完就让你提桶跑路的Linux命令(敲完就让你提桶跑路的linux命令是什么)
-
不谨慎可能就会让你提桶的Linux命令!!!删除文件rm-rf该命令是删除文件或文件夹等最快的方式之一。删除后的内容很难恢复,如果删除系统文件可能会导致系统崩坏。>rm-rf/#强制...
- Log文件可以删除吗(taxukeylog文件可以删除吗)
-
Log文件(日志文件)是否可以删除取决于具体场景和文件类型。以下是详细分析和建议:一、哪些Log文件可以删除?非关键应用日志用户级应用日志:如浏览器缓存日志、游戏临时日志等,通常不影响系统运行,可定期...
- Linux 删除空目录(linux直接删除目录)
-
rmdir命令用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录。该命令从一个目录中删除一个或...
- 在 Windows 11 或 10 上删除、创建和格式化分区
-
在Windows11或10上删除、创建和格式化分区假设您的现有电脑使用的是传统硬盘,但现在您想再添加一个硬盘或SSD。当然,后者将用于启动操作系统,而前者将作为纯数据存储。在成功将操作系统...
- 如何使用 Apt Clean 命令清除 APT 缓存?
-
APT(AdvancedPackageTool)是Debian系Linux发行版的包管理工具,用于处理软件包的安装、升级和依赖管理。在使用apt命令(如aptinstall、apt...
- Linux 磁盘空间不够用?5 招快速清理文件,释放 10GB 空间不是梦!
-
刚收到服务器警告:磁盘空间不足90%!装软件提示Nospaceleftondevice!连日志都写不进去,系统卡到崩溃?别慌!今天教你5个超实用的磁盘清理大招,从临时文件到无用软件一键搞定...
- Linux清空日志方法(linux怎么清理日志)
-
方法1:使用>重定向>/path/to/logfile或(需要权限时):sudosh-c'>/var/log/logfile'方法2:使用trun...
- 如何在Eclipse中搭建Zabbix源码的调试和开发环境
-
Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...
- Linux操作系统之常用命令(linux操作系统之常用命令有哪些)
-
Linux操作系统一、常用命令1.系统(1)系统信息arch显示机器的处理器架构uname-m显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系...
- 理解linux内核的vmlinuz和initrd(linux内核原理及分析)
-
Originaladdress:http://www.chenjunlu.com/2010/11/understanding-of-vmlinuz-initrd-and-system-map/1....
- Linux纯干货知识总结|面试专用(linux面试宝典)
-
学习Linux的重要性相信不用我多说大家也明白,以下是小编总结的常用Linux基础知识以及面试常问的Linux命令,希望能帮助大家更规范地理解和使用~绝对路径和相对路径绝对路径以正斜杠开始完整的文件的...
- Linux基础知识之启动流程分析(简述linux启动流程)
-
Linux系统启动原理:1.poweron开机。2.开机自检:电脑开机后首先加载BIOS(BasicInput/OutputSystem基本输入输出系统)。BIOS程序首先检查计算机能否满足运...
- Java程序员必备——Linux的面试常见问题及面试题!你知道多少?
-
一.常用命令1.编辑相关①.awkNF:字段总数NR:第几行数据FS:分隔字符②.sed-n-i直接修改4a:在第四行后添加4i:在第四行前插入1,5csting:用sting替换1到5行...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)