Linux运维*一.Linux基础---21、网络管理

一、Linux网络基础

1、网络基础知识(略)

 

2、Linux主机接入网络的配置项

(1、MAC

(2、IP/mask

静态IP

DHCP动态获取

(3、路由(默认网关)

(4、DNS服务器地址

 

3、Linux网络管理工具:

(1、ifcfg工具:

ifconfig子命令

route子命令

(2、ip工具:目前主流的网络配置命令(临时有效、重启失效)

link子命令

addr子命令

route子命令

(3、setup图形化网络配置工具(实质也是修改配置文件后保存)

(4、nmcli工具(Centos7)

(5、nmtu工具(Centos7)

(6、直接修改配置文件(永久有效)

(7、nentstat 网络链接查询、路由查询、接口流量查询工具

(8、ss 网络链接查询、路由查询、接口流量查询工具

性能优于netstat,适用于连接数目多的服务器

 

4、TCP链接状态:

LISTEN # 监听状态

ESTABLISHED # 已建立链接

FIN_WAIT_1

FIN_WAIT_2

SYN_SENT

SYN_RECV

CLOSED # 链接关闭状态

 

5、主机名配置及修改

临时修改:

hostname # 显示主机名

hostname 指定主机名 # 配置为指定主机名称

hostnamectl status # 显示主机名详细信息

hostnamectl set-hostname 指定主机名 # 设定主机名

 

永久修改:

[root@localhost ~]#vim /etc/sysconfig/network

NETWORKING=yes # 此项为整个linux服务器接入网络的总开关

HOSTNAME=www.bcc.com

 

6、本地dns解析文件/etc/hosts

格式:

[oneapm@clickhouse3 oneapm]$ cat /etc/hosts

127.0.0.1 localhost

10.12.38.211 clickhouse1

10.12.38.212 clickhouse2

10.12.38.213 clickhouse3

 

7、Linux上网卡命名方式:

传统命名方式:eth{0|1|2|3...|}

CentOS命名:

基于udev,支持多种命名方案,通过主板接口位置进行命名,可实现预测功能,网卡更换后只要位置不变,任然为原网卡名字

固件Firmware或者BIOS为主板上集成的设备提供的索引信息可用,且可预测,则根据此索引进行命名(如:eno....)

固件Firmware或者BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名(如:ens...)

如过固件接口的物理位置信息可用,则根据此信息进行命名(如:enp2s...)

如果用户显示启动,也可根据MAC地址进行命名(如:enx+mac地址)

上述都不可使用时回归传统命名机制(如:eth...)

(上述命名机制中,有的需要biosdevname程序的参与)

网卡名称组成格式:

en:ethernet以太网有限网卡

wl:wlan无限局域网网卡

ww:wwan无限广域网网卡

网卡常见索引:

o+index:集成网卡的索引为“o”加上索引号(如:eno16777736)

s+index:通过插槽介入的独立网卡,其索引为“s“加上插槽的索引号

(如:ens152333412)

x+mac:表示基于MAC进行命名

(如:ensF352A238BC123)

p+PCI的bus+s+index:表示通过PCI总线的总线号及插槽的索引进行命名

(如:enp2s156786)

centos7网卡命令流程:

第一步:默认先进行udev方式命名

第二步:如果第一步命名没有发生,则biosdevname=1,进行第二步命名

第三步:如果第二步命名也没有发生,则进行第三步命名

第四步:以上命名不成功,则回归传统命名,或者保留原来的名字

 

CentOS 7回归传统方式命名

[root@bcc ~]# vim /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet" ##改为GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"

GRUB_DISABLE_RECOVERY="true"

~

[root@bcc ~]# cd /etc/default/

[root@bcc default]# ls

grub nss useradd

[root@bcc default]# groub2-mkconfig -o /boot/grub/grub2.cfg ##为grub2生成配置文件

完成以上步骤后需要重新启动系统

 

 

 

二、ifcfg工具(yum install net-tools)

1、ifconfig子命令:网络接口及地址管理命令

查看接口:

ifconfig # 查看所有处于活动状态对的网络接口地址

ifconfig -a # 查看所有网络接口地址(包含活动状态和非活动状态的接口)

ifconfig 指定网络接口 # 查看指定网络接口地址

 

 

启用、禁用接口:

ifconfig 指定接口 up # 启用接口

ifconfig 指定接口 down # 禁用接口

 

配置接口(立即生效、重启失效):

ifconfig 指定接口 IP/MASK [up|down] # 配置地址、掩码,并启用或禁用接口

ifconfig 指定接口 IP netmask MASK [up|down] # 配置地址、掩码,并启用或禁用接口

附加特性:

promisc # 启用混杂模式,及报文目标MAC不是自己的MAC也接收该报文

# 往往抓包时使用该特性

-promisc # 禁用混杂模式

示例:

[root@localhost ~]# ifconfig ens33 192.168.254.136 netmask 255.255.255.0 up

 

[root@localhost ~]# ifconfig ens33

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.254.136 netmask 255.255.255.0 broadcast 192.168.254.255

inet6 fe80::432c:758e:6a6:312 prefixlen 64 scopeid 0x20<link>

ether 00:0c:29:9a:7f:1a txqueuelen 1000 (Ethernet)

RX packets 909 bytes 66819 (65.2 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 247 bytes 33009 (32.2 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

2、route子命令:路由管理命令(立即生效、重启失效)

查看本机路由:

route -n

示例:

[root@localhost ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.254.2 0.0.0.0 UG 100 0 0 ens33

192.168.254.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33

 

添加路由:

主机路由:访问目标主机时,报文从指定接口发出,通过指定网关路由

route add -host 目标主机IP gw 网关IP dev 指定接口

示例:

[root@localhost ~]# route add -host 192.168.189.5 gw 192.168.254.254 dev ens33

[root@localhost ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.254.2 0.0.0.0 UG 100 0 0 ens33

192.168.189.5 192.168.254.254 255.255.255.255 UGH 0 0 0 ens33

192.168.254.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33

 

 

网络路由:访问目标网段时,报文从指定接口发出,通过指定网关路由

route add -net 目标网段IP/MASK gw 网关IP dev 指定接口

route add -net 目标网段IP/MASK netmask MASK gw 网关IP dev 指定接口

示例:

[root@localhost ~]# route add -net 192.168.199.0 netmask 255.255.255.0 gw 192.168.254.253 dev ens33

[root@localhost ~]# route add -net 192.168.166.0/24 gw 192.168.254.253 dev ens33

[root@localhost ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.254.2 0.0.0.0 UG 100 0 0 ens33

192.168.166.0 192.168.254.253 255.255.255.0 UG 0 0 0 ens33

192.168.189.5 192.168.254.254 255.255.255.255 UGH 0 0 0 ens33

192.168.199.0 192.168.254.253 255.255.255.0 UG 0 0 0 ens33

192.168.254.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33

 

 

缺省路由:无指定路由时,报文从指定接口发出,通过指定网关路由

route add -net 0.0.0.0 network 0.0.0.0 gw 网关IP dev 指定接口

route add default gw 默认网关IP dev 指定接口

示例:

[root@localhost ~]# route add default gw 192.168.254.2 dev ens33

[root@localhost ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.254.2 0.0.0.0 UG 0 0 0 ens33

0.0.0.0 192.168.254.2 0.0.0.0 UG 100 0 0 ens33

192.168.166.0 192.168.254.253 255.255.255.0 UG 0 0 0 ens33

192.168.189.5 192.168.254.254 255.255.255.255 UGH 0 0 0 ens33

192.168.199.0 192.168.254.253 255.255.255.0 UG 0 0 0 ens33

192.168.254.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33

 

 

删除路由:

route del -net 目标主机IP

route del -host 目标网段IP

示例:

[root@localhost ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.254.2 0.0.0.0 UG 0 0 0 ens33

0.0.0.0 192.168.254.2 0.0.0.0 UG 100 0 0 ens33

192.168.166.0 192.168.254.253 255.255.255.0 UG 0 0 0 ens33

192.168.189.5 192.168.254.254 255.255.255.255 UGH 0 0 0 ens33

192.168.199.0 192.168.254.253 255.255.255.0 UG 0 0 0 ens33

192.168.254.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33

 

[root@localhost ~]# route del -net 192.168.166.0/24

[root@localhost ~]# route del -net 192.168.199.0/24

[root@localhost ~]# route del -host 192.168.189.5

[root@localhost ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.254.2 0.0.0.0 UG 0 0 0 ens33

0.0.0.0 192.168.254.2 0.0.0.0 UG 100 0 0 ens33

192.168.254.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33

 

 

三、IP工具:目前主流的网络配置命令(临时有效、重启失效), yum install -y iproute

1、ip link:设备接口连接管理

ip link show 指定设备 # 显示指定设备物理接口及接口二层简要信息

ip link set 指定设备 {up|down} # 激活/禁用指定接口

示例:

[root@localhost ~]# ip link show ens33

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

link/ether 00:0c:29:9a:7f:1a brd ff:ff:ff:ff:ff:ff

 

[root@localhost ~]# ip link set ens33 up

 

 

2、ip addr:设备地址管理

显示指定设备地址信息

ip addr show 指定设备

添加地址(可添加多个,并赋予标签)

ip addr add 地址/mask dev 指定设备 label‘标签名’ scope {glob|link|host}

# 为指定设备添加地址或者删除地址(可添加多个),并赋予标签

# 指定scope该地址的有效范围

glob # 全局有效

link # 链接有效

hose # 本机有效

 

删除地址:

ip addr flush dev 指定设备 label 标签模式 #清空指定设备地址

 

 

3、ip route:路由管理工具

ip route show #显示所有路由信息

ip route show dev 指定设备 #显示指定设备的路由信息

ip route via 下一跳地址 #显示指定下一跳的路由信息

ip route src 源地址 #显示指定源地址的路由信息

 

ip route add #添加路由信息

添加主机地址网关

ip route add 目标主机IP via 下一条地址 dev 指定出口设备

添加网络地址网关

ip route add 目标网段IP/mask长度 via 下一条地址 dev 指定出口设备

 

添加默认网关

ip route add default via 网关地址 dev 指定设备 # 添加默认网关

 

删除默认网关

ip route del default

 

删除指定路由

ip route delete

 

清空路由表

ip route flush

ip route flush dev 指定设备 # 清空指定设备的路由条目

ip route flush via 指定下一跳 # 清空指定下一跳的路由条目

ip route flush src 指定源地址 # 清空指定源地址的路由条目

 

 

 

 

四、setup工具(yum install setuptool)

setup命令后进入交互界面进行配置:

 

 

 

 

六、nmcli工具

nmcli general status # 查看已启用的连接

 

nmcli radio # 配置接口radio参数

 

nmcli connection # 接口的启动、禁用和网络参数配置

numcli connection show 指定设备 # 查看设备连接状态

numcli connection up 指定设备 # 启用指定设备连接

numcli connection down 指定设备 # 禁用指定设备连接

 

numcli connection modify 指定设备 ipv4.{addresses|gatway|dns1..}

numcli connection modify 指定设备 ipv4.addresses P/MASK #给指定设备修改地址

numcli connection modify 指定设备 +ipv4.addresses IP/MASK #给指定设备添加地址

numcli connection modify 指定设备 -ipv4.addresses IP/MASK #给指定设备删除地址

numcli connection modify 指定设备 -ipv4.addresses IP/MASK #给指定设备删除地址

 

numcli connection modify 指定设备 +ipv4.agatway IP #给指定增加网关

 

numcli connection modify 指定设备 +ipv4.DNS IP #给指定增加DNS

 

(新地址配置后需要connection down和up禁用、启用才能生效)

 

numcli device

numcli device status 指定设备 # 查看指定接口连接状态

numcli device show 指定设备 #查看指定设备的详细信息

 

示例:

[root@localhost rules.d]# nmcli general status

STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN

connected full enabled enabled enabled enabled

 

[root@localhost rules.d]# nmcli connection modify +ipv4.addresses 192.168.254.13

 

 

 

 

七、nmtu工具(system-config-securitylevel-tui)

nmtui命令后进入交互界面进行配置:

 

 

 

八、网络相关配置文件(通过修改配置文件设定网络参数永久有效)

1、网络参数配置文件:/etc/sysconfig/network-scripts/ifcfg-接口名称

[root@localhost network-scripts]# vim ifcfg-eno16777736

TYPE="Ethernet" # 此网卡的接口类型(Ethernet、Bridge)

BOOTPROTO="dhcp" # 激活此设备时使用的协议(dhcp、static、none、bootp)

NM_CONTROLLED="NO" # 关闭NetworkManage管理服务

IPADDR=“” # 静态IP地址

NETNASK=“” # 子网掩码

GATEWAY=“” # 默认网关

DNS1=“” # DNS1服务器指向

DNS2=“” # DNS2服务器指向

DEFROUTE="yes"

PEERDNS="yes" # 如果为dhcp,是否允许dhcp服务器发票的DNS信息覆盖修改/etc/recolv.conf

PEERROUTES="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_PEERDNS="yes"

IPV6_PEERROUTES="yes"

IPV6_FAILURE_FATAL="no"

NAME="eno16777736"

UUID="f9158e3d-7878-48c5-a475-97d79a6d830d" # 该设备UUID(应与设备UUID保持一致)

HWADDR=“” # MAC(应该与设备MAC一致)

DEVICE="eno16777736" # 该配置文件应用到的设备(应该与设备名字保持一致)

ONBOOT="yes" # 系统引导时,是否激活该设备(即重启时是否启用该网卡)

USERCTL # 普通用户是否可以管理该设备

"ifcfg-eno16777736" 16L, 320C 16,1 全部

 

通过配置文件给同一块网卡配置多个地址

[root@localhost network-scripts]# cp ifcfg-eno16777736 ifcfg-eno16777736:1

[root@localhost network-scripts]# vim ifcfg-eno16777736:1

TYPE="Ethernet"                                                                                      

BOOTPROTO="dhcp"                                                                             

NM_CONTROLLED="NO"                                                                     

IPADDR=“192.168.207.189”                                                                      

NETNASK=“255.255.255.0”                                                                   

GATEWAY=“192.168.207.2”                                                                 

DNS1=“8.8.8.8”                                                                         

DNS2=“9.9.9.9”                                                                     

DEFROUTE="yes"

PEERDNS="yes"                                                                                      

PEERROUTES="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_PEERDNS="yes"

IPV6_PEERROUTES="yes"

IPV6_FAILURE_FATAL="no"

NAME="eno16777736:1"

[root@localhost ~]# service network restart

 

 

2、路由配置文件:/etc/sysconfig/network-scripts/route-接口名称

该文件不存在,需要手动创建

文件格式1:每行定义一组路由(推荐使用该格式)

目标网络 via 下一跳

示例:

[root@localhost network-scripts]# vim route-eno16777736

192.168.0.0 /24 via 192.168.207.2

 

文件格式2:每三行定义一组路由

ADDRESSn=目标网络地址

NETMASKn=mask

GATEWAY=网关地址

示例:

[root@localhost network-scripts]# vim route-eno16777736

192.168.0.0 /24 via 192.168.207.2

或者:

ADDRESS0=192.168.10.0

NETMASK0=255.255.255.0

GATEWY0=192.168.207.2

ADDRESS1=192.168.20.0

NETMASK1=255.255.255.0

 

GATEWAY1=192.168.207.2

 

 

3、DNS服务器配置文件:/etc/resolv.conf

格式:

dnsservername1 server_ip1

dnsservername2 server_ip2

dnsservername3 server_ip3

示例:

vim /etc/resolv.conf

nameserver1 8.8.8.8

nameserver2 9.9.9.9

 

如果安装了NetworkManage,通过修改/etc/resolv.conf文件来配置DNS需要关闭NetworkManage的dns管理功能

编辑配置文件关闭:

vim /etc/NetworkManager/NetworkManager.conf

dns=none

或直接关闭服务:

systemctl stop NetworkManager

 

DNS解析测试工具:dig,需要先安装yum install bind-utils(也可以使用host命令测试)

dig -t A servername # 将域名解析为地址

dig -x IP # 将IP解析为域名

-t A servername # 将域名解析为地址

dig -t A servername # 将域名解析为地址

示例:

[root@localhost ~]# dig -t A www.baidu.com

...

[root@localhost ~]# dig -x 183.232.231.174

 

4、修改后需要重启网卡:

方式一:

[root@localhost ~]# ifconfig eno16777736 down

[root@localhost ~]# ifconfig eno16777736 up

方式二:

[root@localhost ~]# service network restart

[root@localhost ~]# /etc/rc.d/init.d/network restart

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值