Linux系统网络管理

一、基本网络配置:

将Linux主机接入网络,需要配置网络相关设置

一般包括以下内容:

主机名IP/netmask路由:默认网关DNS服务器:主DNS服务器次DNS服务器

网络配置文件:

IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/networkscripts/ifcfg-IFACE:

DEVICE=ene33           # 针对网卡名称(必须有)ONTBOOT=yes            # yes表示开机自动启动网卡,默认yesBOOTPROTO=dhcp         # 自动获取,生产中一般改为手动配置static|none(必须有)IPADDR=172.20.0.6      # 设置IP(必须有)NETMASK=255.255.0.0    # 传统方式配置掩码(必须有)PREFIX=16              # CIDR法设置掩码(必须有)GATEWAY=172.20.0.1     # 设置网关DNS1=114.114.114.114   # 设置DNS1DNS2=8.8.8.8           # 设置DNS2TYPE                   # 接口类型,常见有Ethernet,BridgeUUID                   # 设备唯一表示

路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE

注意:需service network restart生效

两种风格:

(1) TARGET via GW如:10.0.0.0/8 via 172.16.0.1(2) 每三行定义一条路由ADDRESS#=TARGETNETMASK#=maskGATEWAY#=GW

网络配配置方式:
静态指定:

命令:ifcfg家族:ifconfig:配置IP,NETMASKroute:路由netstat:状态及统计数据查看iproute2家族:ip OBJECT:addr:地址和掩码;link:接口route:路由ss:状态及统计数据查看CentOS 7:nm(Network Manager)家族 立即生效,修改配置文件nmcli:命令行工具nmtui:text window 工具

注意:

(1) DNS服务器指定    配置文件:/etc/resolv.conf
(2) 本地主机名配置hostname配置文件:/etc/sysconfig/network
CentOS 7:hostnamectl
配置文件:RedHat及相关发行版/etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME

动态分配(dhcp):依赖于本地网络中有DHCP服务

DHCP:Dynamic Host Configure Procotol

二、主机、网卡名称管理

传统命名:

以太网:ethX, [0,oo),例如eth0, eth1, ...
PPP网络(点到点网络,拨号上网):pppX, [0,...], 例如,ppp0, ppp1, ...

可预测命名方案(CentOS 7):

支持多种不同的命名机制:
基于 Fireware, 拓扑结构命名(1) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1, eno2, ...
(2) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1, ens2, ...
(3) 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0, ...
(4) 如果用户显式定义,也可根据MAC地址命名,例如enx122161ab2e10, ...
上述均不可用,则仍使用传统方式命名;

命名格式的组成:

en:ethernet
wl:wlan
ww:wwan

名称类型:

o<index>:集成设备的设备索引号;
s<slot>:扩展槽的索引号;
x<MAC>:基于MAC地址的命名;
p<bus>s<slot>:基于总线及槽的拓扑结构进行命名;

网络接口识别并命名相关的udev配置文件:

/etc/udev/rules.d/70-persistent-net.rules

查看网卡

dmesg |grep –i ethethtool -i eth0卸载网卡驱动:modprobe -r e1000rmmod e1000

装载网卡驱动

modprobe e1000

修改主机名

hostname [NEWNAME] 临时生效,重启恢复永久生效:CentOS6:修改/etc/sysconfig/networkCentOS7:修改/etc/hostname或:hostnamectl set-hostname [NEWNAME]hostname [NEWNAME] 使配置文件生效
修改CentOS7网卡命名为传统命名方式,实现自动化运维

(1) 编辑/etc/default/grub配置文件

GRUB_CMDLINE_LINUX=”rhgb quiet net.ifnames=0″或:修改/boot/grub2/grub.cfg   linux 16 行尾添加 net.ifnames=0

(2) 为grub2生成其配置文件

grub2-mkconfig -o /etc/grub2.cfg

(3) 重启系统

修改本地解析器

/etc/hosts本地主机名数据库和IP地址的映像对小型独立网络有用通常,在使用DNS前检查一般建议在127.0.0.1的行尾加上本机的hostname

注:如果hostname发生更改,一定要记得同时更改/etc/hosts里的原添加内容

搭建网站也建议将网站地址与网页名称对应写入到/etc/hosts文件中,避免解析出错

设置DNS

/etc/resolv.confnameserver DNS_SERVER_IP1nameserver DNS_SERVER_IP2nameserver DNS_SERVER_IP3

三、网卡别名

对虚拟环境有用,可将多个IP地址绑定到一个网卡上

eth0:1、eth0:2、eth0:3

ifconfig命令:

ifconfig eth0:0 192.168.1.100/24 upifconfig eth0:0 down

ip命令:

ip addr add 172.16.1.2/16 dev eth0ip addr add 172.16.1.1/16 dev eth0 label eth0:0ip addr add 172.16.1.2/16 dev eth0 label eth0:0ip addr del 172.16.1.1/16 dev eth0 label eth0:0ip addr flush dev eth0 label eth0:0

为别名设备添加配置文件,永久生效

(1)service NetworkManager stop 关闭图形界面网络管理

(2)ifctg-ethX:xxx

(3)必须使用静态IP配置

DEVICE=eth0:0IPADDR=10.10.10.10NETMASK=255.0.0.0ONPARENT=yes

(4)最后重启网络服务

service network restart

四、网络接口配置bonding

Bonding是将多个网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。
直接给两块网卡设置同一IP地址是不可以的。
通过bonding,虚拟一块网卡对外提供链接,物理网卡被修改为相同的MAC地址

Bonding工作模式:

Mode 0 (balance-rr)轮转(Round-robin)策略:从头到尾顺序的在每个slave接口上发送数据包。提供负载均衡和容错的能力   Mode 1 (active-backup)活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见    Mode 3 (broadcast)广播策略:在所有的slave接口上传送所有的报文,提供容错能力

查看bond0主备状态:

/proc/net/bonding/bond0

创建bonding设备的配置文件

/etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0BOOTPROTO=noneBONDING_OPTS= “miimon=100 mode=0”/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no

也可使用nmcli实现bonding

添加bonding接口nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup添加从属接口nmcli con add type bond-slave ifname ens7 master mybond0nmcli con add type bond-slave ifname ens3 master mybond0

注:如无为从属接口提供连接名,则该名称是接口名称加类型构成,要启动绑定,则必须首先启动从属接口

nmcli con up bond-slave-eth0nmcli con up bond-slave-eth1

启动绑定

nmcli con up mybond0

取消bonding

1.卸载驱动模块lsmod                        显示所有已加载的驱动模块lsmod | grep bondifconfig bond0 down      禁用网卡modproble -r bonding2.删除和修改文件rm -r ifcfg-bond0vim ifcfg-eth{0,1}service     network restart       重启网络服务

五、实现网络组

代替bonding的一种技术

网络组:将多个网卡聚合在一起的方法,从而实现冗错和提高吞吐量

多种方式运行:

broadcast                 广播模式roundrobin               轮播模式activebackup           主备模式loadbalance              负载均衡模式

lacp (implements the 802.3ad Link Aggregation Control Protocol)

创建网络组Network Teaming(RHCE)

nmcli con add type team con-name team0 ifname team0 config‘{“runner”: {“name”: “loadbalance”}}’nmcli con mod team0 ipv4.addresses 192.168.1.100/24nmcli con mod team0 ipv4.method manualnmcli connection shownmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0nmcli con up team0nmcli con up team0-eth1nmcli con up team0-eth2nmcli connection showteamdctl team0 state

删除网络组:

第一种方法:删除network-scripts下配置文件

第二种方法:nmcli connection delete team0 team0-eth1 team0-eth2

Linux系统网络管理相关推荐

  1. Linux系统网络管理1

    网络管理 OSI 简介 OSI:7层次结构/功能 TCP/IP:5层结构/功能 TCP/IP:4层结构/功能 OSI模型与TCP/IP模型的区别 TCP/IP/数据单元/DU 封装和解封装 TCP/I ...

  2. Linux系统/网络管理

    发布下本人写的第一本书,欢迎大家下载. 初次写书,肯定有很多不完善的地方,请大家多多指教,不胜感激! 请点击下载 转载于:https://blog.51cto.com/1198282/343658

  3. Linux之网络管理(2)虚拟网卡

    Linux之网络管理(2)虚拟网卡 在linux中,默认的内核模块中包含了很多与网络相关的组件和工具,来提供对网络的管理和设置.同样,linux中也是支持虚拟网卡的设置,已经多网卡绑定等功能.在网卡不 ...

  4. 基于suse linux系统的cacti系统部署——rpm包方式

    豆丁 http://www.docin.com/p-191889788.html rpm包方式:啊扬--沙迳:2010-12-1:更改:2011/5/16:一.Cacti的简介(来源:网络):Cact ...

  5. Linux系统中的函数

    Linux系统中的函数: 一.进程控制 fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtables ...

  6. First Week :Linux系统学习

    CSDN学习小组 第一周 Linux常用命令 用户以及用户组 0.显示用户信息 1.创建/删除/修改用户 2.添加/删除用户组,查看用户组信息 3. 查看用户 4. 密码操作 5. 用户切换和退出登陆 ...

  7. step1 . day2:Linux系统基础知识

    和Windows一样,Linux计算机必要的文件系统和学习C语言使用到的编辑器知识初步掌握. 1.操作系统和内核的分类 内核:Linux.Unix.NT,Linux内核主要负责5项工作①文件管理②设备 ...

  8. 服务器系统的王者——Linux 系统

    2019独角兽企业重金招聘Python工程师标准>>> 1.模块化程度高 Linux的内核设计非常精巧,分成进程调度.内存管理.进程间通信.虚拟文件系统和网络接口五大部分;其独特的模 ...

  9. linux系统安全详解

    linux系统安全详解 http://www.2cto.com/Article/201207/142181.html一,BIOS安全(硬件上的安全) 1,最基本最简单的安全配置,保障计算机硬件配置等不 ...

最新文章

  1. kaggle账号_机器学习竞赛入门--kaggle篇
  2. 常用的正则表达式总结
  3. ATL的GUI程序设计(前言)
  4. RUNOOB python练习题19 找出1000以内的所有完数
  5. word 2010中正文页码如何从第1页开始?
  6. charles 安装 ssl_最全面的解决Charles手机抓包的证书问题(步骤非常详细)
  7. 技术员联盟win11旗舰版64位镜像v2021.07
  8. 设计模式之--单例模式
  9. 小数点进位 oracle,使用多个小数点(。)对Oracle中的记录进行排序
  10. NB-IOT技术以及物联网安全问题简述
  11. Qt中文件读写进文本框出现乱码问题详解(gbk格式出现乱码为例)
  12. vue中index.html文件为什么可以使用模板语法
  13. 里氏转换,arraylist,path,file
  14. Atitit 代理解决方案proxy solu attilax总结 1. 为什么需要代理 1 1.1. Ajax跨域 1 1.2. Nginx反向代理 1 2. 分类 2 2.1. 普通vs隧道 2
  15. linux修改文件:E212 can't open file for writing
  16. 【影评】:卧虎藏龙中的人物性格的分析
  17. 【小家Spring】Spring AOP之Advisor、PointcutAdvisor、IntroductionAdvisor、IntroductionInterceptor(引介增强)
  18. ps抠图基础篇:最常用的四种抠图方法
  19. 谁说大象不能跳舞--myeclipse 优化
  20. android界面UI美化:沉浸模式、全透明或半透明状态栏及导航栏的实现

热门文章

  1. VScode怎么将字体灵活缩放
  2. hive的进一步理解
  3. 51端口HTML跳转进不去,HTML页面跳转的5种方法
  4. 企业如何通过EDI系统降低供应链成本
  5. 全网最全的mysql表的关联查询(内连接,外连接)
  6. mysql 中alter_MySQL中alter用法大全
  7. android学习日记——PreferenceActivity详解
  8. 分享111个Java源码,总有一款适合您
  9. 分享66个ASP.NET学校班级源码,总有一款适合您
  10. 利用镜像文件安装ubuntu系统(包括U盘制作PE)