一、网络配置
1、ifconfig命令
ifconfig [IFACE]
显示所有启动的网络接口信息,包括网卡别名;指明网络接口时,显示指定网络接口信息
ifconfig -a
显示所有网络接口的信息,包括未启动的网卡接口。
ifconfig IFACE [up|down]
启动或关闭网络接口
ifconfi IFACE [-]promisc
启用混杂模式
ifconfig IFACE IP/mask [up]
ifconfig IFACE IP netmask MASK
临时配置网络接口,立即生效
注意:立即生效,但不会永久有效
ifup/ifdown IFACE
启用或禁用网络接口
2、route命令
route -n
查看路由表
route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]
添加路由条目
route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]
删除路由条目
route del default
删除默认路由
route add default gw target
添加默认路由
注:配置动态路由
通过守护进程获取动态路由
安装quagga包,支持多种格式的RIP、OSPF和BGP
命令vtysh配置
练习:
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add default gw 172.16.0.1
route del -host 192.168.1.3
route del -net 192.168.0.0 netmask 255.255.255.0
3、netstat命令
(1)显示网络连接
netstat
-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口;
-e:扩展格式
-p: 显示相关进程及PID
常用组合:
-tan, -uan, -tnl, -unl
(2)显示路由表
netstat
-r: 显示内核路由表
-n: 数字格式,不解析成主机名
(3)显示接口统计数据:
netstat
-i
-I IFACE
4、ip命令
ip {link|addr|route}
(1)ip link
set dev IFACE {up|down}:激活或禁用指定接口
show [dev IFACE]:显示指定接口信息,没有指定时显示所有启动接口
(2) ip addr
ip addr {add|del} IFADDR dev STRING
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域
global: 全局可用,默认;
link: 仅链接可用;
host: 本机可用;
[broadcast ADDRESS]:指明广播地址
ip addr show -look at protocol addresses
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip addr flush [dev DEVICE]
清空协议地址,没有指明接口时,清空所有协议地址
练习:
ip addr add 172.16.100.13/16 dev eth0 label eth0:0
ip addr del 172.16.100.13/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
(3) ip route
list|show
查看路由表
add NETWORK/MASK via GW [dev IFACE] [src SOURCE_IP]
添加路由条目
add default via GW [dev IFACE]
添加默认路由
delete NETWORK/MASK
删除路由条目
flush [dev IFACE] [via PREFIX]
清空路由表
练习:
ip route add 192.168.0.0/24 via 172.16.0.1
ip route add 192.168.1.13 via 172.16.0.1
ip route add default via 172.16.0.1
ip route flush dev eth0
5、ss命令
netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息。
选项:
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unixsock相关
-l: listen状态的连接
-a: 所有状态
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
常用组合:
-tan, -tanl, -tanlp, -uan
TCP的常见状态:
LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
UDP无状态
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
EXPRESSION:
dport=
sport =
示例:'( dport= :sshor sport = :ssh)' 显示所有已建立的SSH连接
'( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接
'( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
本地解析器 /etc/hosts
解析器执行正向和逆向查询
本地主机名数据库和IP地址的映像
对小型独立网络有用
通常,在使用DNS前检查
getent hosts 查看/etc/hosts 内容
dns解析器 /etc/resolv.conf
nameserverDNS_SERVER_IP1
nameserverDNS_SERVER_IP2
nameserverDNS_SERVER_IP3
本地解析器与dns解析器的检查顺序/etc/nsswitch.conf
一般/etc/hosts相比优先于DNS
正解:FQDN–>IP
dig -t A FQDN
host -t A FQDN
反解:IP–>FQDN
dig -x IP
host -t PTR IP
路由配置文件
/etc/sysconfig/network-scripts/route-IFACE
注意:需service network restart生效
两种风格:
(1) TARGET via GW
(2) 每三行定义一条路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
注:两种风格不能同时使用,只能使用一种风格
查看网卡驱动:
ethtool -i IFACE
卸载网卡驱动:
modprobe -r e1000
rmmod e1000
装载网卡驱动:
modprobe e1000
网卡名称
centos6
网络接口使用连续号码命名:eth0、eth1等,当增加或删除网卡时,名称可能会发生变化。
网络接口识别并命名相关的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
centos7
(1) 网卡命名机制
systemd对网络设备的命名方式,基于硬件,设备拓扑和设置类型命名
(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1
(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
(d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56
(e) 上述均不可用时,则使用传统命名机制
(2) 名称组成格式
en: Ethernet 有线局域网
wl: wlan无线局域网
ww: wwan无线广域网
o<index>: 集成设备的设备索引号
s<slot>: 扩展槽的索引号
x<MAC>: 基于MAC地址的命名
p<bus>s<slot>: enp2s1
(3)网卡设备的命名过程:
(a)udev, 辅助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules
(b) biosdevname会根据/usr/lib/udev/rules.d/71-biosdevname.rules
(c) 通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH
(4) 采用传统命名方式
(a) 编辑/etc/default/grub
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
(b) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(c) 重启系统
reboot
或
(a) 直接编辑/boot/grub2/grub.cfg或/boot/grub/grub.conf
crashkernel=auto rhgb quiet.UTF-8 net.ifnames=0
(b) 重启系统
reboot
注:需要修改相对应的网络接口配置文件
6、nmcli命令
修改IP地址等属性:
nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses ipv4.gateway
ipv4.dns1 ipv4.method manual | dhcp
修改配置文件执行生效:
systemctl restart network
nmclicon reload
nmcli命令生效:
nmcli con down eth0
nmcli con up eth0
相关工具
网络接口配置tui工具:nmtui
主机名称配置工具:hostnamectl
status
set-hostname
NeworkManager是管理和监控网络设置的守护进程
设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效。
(a)显示所有包括不活动连接
nmcli con show
(b)显示所有活动连接
nmcli con show –active
(c)显示网络连接配置
nmcli con show "System eth0“
(d)显示设备状态
nmcli dev status
(e)显示网络接口属性
nmcli dev show eno16777736
(f)创建新连接default,IP自动通过dhcp获取
nmcli con add con-name default type Ethernet ifnameeth0
(g)删除连接
nmcli con del default
(h)创建新连接static ,指定静态IP,不自动连接
nmcti con add con-name static ifnameeth0 autoconnectno type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254
(i)启用static连接配置
nmcli con up static
(j)启用default连接配置
nmcli con up default
(k)查看帮助
nmcli con add help
练习:
nmcli con mod “static” connection.autoconnect no
nmcli con mod “static” ipv4.dns 172.25.X.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
nmcli con mod ifcfg-* 文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
ipv4.addresses “192.0.2.1/24 192.0.2.254” IPADDR0=192.0.2.1 PREFIX0=24 GATEWAY0=192.0.2.254
ipv4.dns 8.8.8.8 DNS0=8.8.8.8
ipv4.dns-search example.com DOMAIN=example.com
ipv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.id eth0 NAME=eth0
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address . . . HWADDR= . . .
网络配置文件
设备配置被保存在文本文件中:/etc/sysconfig/network-scripts/ifcfg-<name>
帮助文档列出完整选项列表:/usr/share/doc/initcripts-*/sysconfig.txt
动态配置 静态配置
DEVICE=ethX DEVICE=ethX
HWADDR=0:02:8A:A6:30:45 HWADDR=0:02:8A:A6:30:45
BOOTPROTO=dhcp IPADDR=192.168.0.123
ONBOOT=yes NETMASK=255.255.255.0
Type=Ethernet GATEWAY=192.168.0.254
ONBOOT=yes
Type=Ethernet
修改连接配置后,需要重新加载配置
nmcli con reload
nmcli con down “system eth0” 可被自动激活
nmcli con up “system eth0”
nmcli dev dis eth0 禁用网卡,访止被自动激活
图形工具 nm-connection-editor
网络组Network Teaming
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现.
多种方式runner
broadcast
roundrobin
activebackup
loadbalance
lacp(implements the 802.3ad Link Aggregation Control Protocol)
启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口不会自动启动网络组接口
禁用网络组接口会自动禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入
创建网络组接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME连接名,INAME接口名,
JSON指定runner方式
格式:'{"runner": {"name": "METHOD"}}'
METHOD可以是broadcast, roundrobin, activebackup, loadbalance, lacp.
创建port接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME连接名,INAME网络接口名,TEAM网络组接口名,连接名若不指定,默认为team-slave-IFACE.
nmcli dev dis INAME
nmcli con up CNAME
INAME设备名CNAME网络组接口名或port接口
网络组示例
创建网络组nmcli con add con-name team0 type team ifname team0 config "{"runner": {"name": "loadbalance"}}"
添加IP地址nmcli con mod team0 ipv4.addresses 192.168.1.100/24
IP获取方式nmcli con mod team0 ipv4.method manual
添加网卡1 nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
添加网卡2 nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
启动网络组nmcli con up team0
启动接口1 nmcli con up team0-eth1
启动接口2 nmcli con up team0-eth2
查看网络组teamdctl team0 state
关闭接口 nmcli dev dis eth1
管理网络组配置文件
/etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-team0-eth2
DEVICE=eth2
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth2
ONBOOT=yes
主机名管理
rhel6之前主机名配置文件:/etc/sysconfig/network
rhel7.0主机名配置文件:/etc/hostname ,默认没有这个文件,通过DNS反向解析获取主机名,主机名默认为:localhost.localdomain
显示主机名信息
hostname
hostnamectlstatus
创建并修改文件并生效
hostnamectl set-hostname desktopX.example.com
删除文件,恢复主机名localhost.localdomain
DNS设置,存放在/etc/resolv.conf文件中
PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取。等价于下面命令:
nmclicon mod “system eth0” ipv4.ignore-auto-dns yes
显示主机名 hostname
测试网络连通性 ping,mtr
显示正确的路由表 iproute
确定名称服务器使用 nslookup,host,dig
跟踪路由 traceroute,Tracepath
网络客户端工具
lftp, ftp, lftpget, wget
lftp[-p port] [-u user[,password]] SERVER
子命令:
get、mget、ls、help
# lftpgetURL
# ftp
# wget
wget[option]… [URL]…
-q: 静默模式
-c: 断点续传
-O: 保存位置
–limit-rates=: 指定传输速率
进程管理
进程概念
内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等
Process: 运行中的程序的一个副本,是被载入内存的一个指令集合
进程ID(Process ID,PID)号码被用来标记各个进程
UID、GID、和SELinux语境决定对文件系统的存取和访问权限,通常从执行进程的用户来继承,存在生命周期
task struct:Linux内核存储进程信息的数据结构格式
task list:多个任务的的task struct组成的链表
进程创建:
init:第一个进程
父子关系
进程:都由其父进程创建,COW
fork(), clone()
Linux系统各进程的相关信息均保存在/proc/PID目录下的各文件中
进程优先级:
系统优先级:数字越小,优先级越高
0-139(CentOS4,5)
各有140个运行队列和过期队列
0-98,99(CenOS6)
实时优先级:99-0:值最大优先级最高
Nice值:-20,19对应系统优先级100-139或99
Big O:时间复杂度,用时和规模的关系
O(1), O(logn), O(n)线性, O(n^2)抛物线, O(2^n)
进程相关概念
进程内存:
Page Frame: 页框,用存储页面数据,存储Page 4k
LRU:Least Recently Used 近期最少使用算法,释放内存
物理地址空间和线性地址空间
MMU:Memory Management Unit负责转换线性和物理地址
IPC: Inter Process Communication
同一主机上
signal
shm: shared memory
semophore信号量,一种计数器
不同主机上:
rpc: remote procedure call
socket: IP和端口号
进程状态
Linux内核:抢占式多任务
进程类型:
守护进程: daemon,在系统引导过程中启动的进程,和终端无关进程
前台进程:跟终端相关,通过终端启动的进程
注意:两者可相互转化
进程状态:
运行态:running
就绪态:ready
睡眠态:
可中断:interruptable
不可中断:uninterruptable
停止态:stopped,暂停于内存中,但不会被调度,除非手动启动
僵死态:zombie,结束进程,父进程结束前,子进程不关闭
进程的分类:
CPU-Bound:CPU密集型,非交互
IO-Bound:IO密集型,交互
1、pstree 显示进程树
-p:显示进程号PID
2、ps 查看进程信息
支持三种选项:
UNIX选项如-A -e
BSD选项如a
GUN选项如–help
默认显示当前终端中的进程
a选项包括所有终端中的进程
x选项包括不链接终端的进程
u选项显示进程所有者的信息
f选项显示进程的父进程
o属性… 选项显示定制的信息:pid、comm、%cpu、%mem、state、tty、euser、ruser
VSZ: Virtual memory SiZe,虚拟内存集,线性内存
RSS: ReSidentSize, 常驻内存集
STAT:进程状态
R:running 运行态
S: interruptablesleeping 可中断睡眠
D: uninterruptable sleeping 不可中断睡眠
T: stopped 停止态
Z: zombie 僵尸态
+: 前台进程
l: 多线程进程
N:低优先级进程
<: 高优先级进程
s: session leader,会话(子进程)发起者
(1)常用组合:-ef
-e: 显示所有进程
-f: 显示完整格式程序信息
(2)常用组合:-eFH
-F: 显示更完整格式的进程信息
-H: 以进程层级格式显示进程相关信息
(3)常用组合:自定义
-eo pid,tid,class,rtprio,ni,pri,psr, pcpu,stat,comm
axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ni: nice值
pri: priority,优先级
psr: processor, CPU编号
rtprio: 实时优先级
3、pgrep 按预定义的模式搜索进程
-u uid: effective user,生效者
-U uid: real user,真正发起运行命令者
-t terminal: 与指定终端相关的进程
-l: 显示进程名
-a: 显示完整格式的进程名
-P pid: 显示指定进程的子进程
4、pidof 按确切的程序名称找出其进程PID
5、uptime 显示当前时间,系统已启动的时间、当前上线人数,系统平均负载(1、5、10分钟的平均负载,一般不会超过1)
系统平均负载:指在特定时间间隔内运行队列中的平均进程数。
如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能良好。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。
如果linux主机是1个双核CPU的话,当Load Average 为6的时候说明机器已经被充分使用了。
6、top:动态查看进程信息
选项:
-d #: 指定刷新时间间隔,默认为3秒
-b: 以批次方式
-n #: 显示多少批次
子命令:
P:以占据的CPU百分比,%CPU
M:占据内存百分比,%MEM
T:累积占据CPU时长,TIME+
q:退出命令
s:修改刷新时间间隔
k:终止指定进程
w:保存文件
首部信息显示:
uptime信息:l命令
tasks及cpu信息:t命令
cpu分别显示:1 (数字)
memory信息:m命令
栏位信息简介
us:用户空间
sy:内核空间
ni:调整nice时间
id:空闲
wa:等待IO时间
hi:硬中断
si:软中断(模式切换)
st:虚拟机偷走的时间
PID:任务的进程ID
PPID:父任务的进程
IDRUSER:任务的所有者真实名称
UID:任务所有者
IDUSER:任务所有者名称
GROUP:任务所有者群组名
TTY:终端
PR:优先级
%CPU:CPU使用率
%MEM:内存使用率
S:进程状态
TIME+:CPU时间,精确到秒
7、htop top的增强版
选项:
-d #: 指定延迟时间;
-u UserName: 仅显示指定用户的进程;
-s COLUME: 以指定字段进行排序;
子命令:
s: 跟踪选定进程的系统调用;
l: 显示选定进程打开的文件列表;
a:将选定的进程绑定至某指定CPU核心;
t: 显示进程树
8、vmstat 虚拟内存信息
选项:
-s:将一些事件导致的内存变化列表说明
-S:后面可以接单位K、M代表bytes的容量
-d:列出磁盘的读写总量统计表
vmstat 1 3
栏位信息简介
procs:
r:等待运行的进程的个数,和核心数有关
b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory:
swpd: 交换内存的使用总量
free:空闲物理内存总量
buffer:用于buffer的内存总量
cache:用于cache的内存总量
swap:
si:从磁盘交换进内存的数据速率(kb/s)
so:从内存交换至磁盘的数据速率(kb/s)
io:
bi:从块设备读入数据到系统的速率(kb/s)
bo: 保存数据至块设备的速率
system:
in: interrupts, 中断速率,包括时钟
cs: context switch, 进程切换速率
cpu:
us:Timespent running non-kernel code
sy: Time spent running kernel code
id: Time spent idle. Linux 2.5.41前,包括IO-wait time.
wa: Time spent waiting for IO. 2.5.41前,包括in idle.
st: Time stolen from a virtual machine. 2.6.11前, unknown.
9、pmap 进程对应的内存映射
-x: 显示详细格式的信息;
另外一种实现:cat /proc/PID/maps
10、glance 系统监控工具
常用选项:
-b: 以Byte为单位显示网卡数据速率
-d: 关闭磁盘I/O模块
-f /path/to/somefile: 设定输入文件位置
-o {HTML|CSV}:输出格式
-m: 禁用mount模块
-n: 禁用网络模块
-t #: 延迟时间间隔
-1:每个CPU的相关数据单独显示
C/S模式下运行glances命令
服务模式:
glances -s -B IPADDR
IPADDR: 指明监听的本机哪个地址
客户端模式:
glances -c IPADDR
IPADDR:要连入的服务器端地址
11、dstat命令 系统资源统计
选项:
-c: 显示cpu相关信息
-C #,#,…,total
-d: 显示disk相关信息
-D total,sda,sdb,…
-g:显示page相关统计数据
-m: 显示memory相关统计数据
-n: 显示network相关统计数据
-p: 显示process相关统计数据
-r: 显示io请求相关的统计数据
-s: 显示swapped相关的统计数据
–tcp:显示tcp套接字的相关统计数据
–udp:显示udp套接字的相关统计数据
–unix:显示unix套接字的相关统计数据
–raw
–socket
–ipc
–top-cpu:显示最占用CPU的进程
–top-io: 显示最占用io的进程
–top-mem: 显示最占用内存的进程
–top-latency: 显示延迟最大的进程
12、kill 向进程发送控制信号,以实现对进程管理
-l:显示当前系统可用信号
常用信号:man 7 signal
1) SIGHUP: 无须关闭进程而让其重读配置文件
2) SIGINT: 中止正在运行的进程;相当于Ctrl+c
9) SIGKILL: 杀死正在运行的进程
15) SIGTERM:终止正在运行的进程
18) SIGCONT:继续运行
19) SIGSTOP:后台休眠
指定信号的方法:
(1) 信号的数字标识;1, 2, 9
(2) 信号完整名称;SIGHUP
(3) 信号的简写名称;HUP
按PID:kill [-SIGNAL] pid…
按名称:killall [-SIGNAL] comm…
按模式:pkill [options] pattern
-SIGNAL
-u uid: effective user,生效者
-U uid: real user,真正发起运行命令者
-t terminal: 与指定终端相关的进程
-l: 显示进程名
-a: 显示完整格式的进程名
-P pid: 显示父进程为此处指定的进程的进程列表
作业管理
Linux的作业控制
前台作业:通过终端启动,且启动后一直占据终端;
后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)
如何让作业运行于后台?
(1) 运行中的作业:Ctrl+z
(2) 尚未启动的作业:# COMMAND &
后台作业虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭后台作业。如果希望送往后台后,剥离与终端的关系
nohup COMMAND &
screen;COMMAND
查看所有作业:
jobs
作业控制:
fg[[%]JOB_NUM]:把指定的后台作业调回前台;
bg[[%]JOB_NUM]:让送往后台的作业在后台继续运行;
kill [%JOB_NUM]:终止指定的作业;
并行运行,同时运行多个进程,提高效率
(1)vi all.sh
f1.sh&
f2.sh&
f3.sh&
(2)(f1.sh&);(f2.sh&);(f3.sh&)
(3){ f1.sh& f2.sh& f3.sh& }
进程优先级
进程优先级调整:
静态优先级:100-139
进程默认启动时的nice值为0,优先级为120
只有根用户才能降低nice值(提高优先性)
nice命令:
nice [OPTION] [COMMAND [ARG]…]
renice命令:
renice[-n] priority pid…
查看:
psaxopid,comm,ni
作业1:路由器配置
host1
IP:192.168.100.10/24
GW:192.168.0.1
route1
IP1:192.168.100.1
IP2:192.168.0.1
GW:192.168.0.2
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
route2
IP1:192.168.0.2
IP2:192.168.200.1
GW:192.168.0.1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
host2
IP:192.168.200.10
GW:192.168.0.2
作业2:网络组配置
nmcli con add con-name team0 type team ifname team0 config "{"runner": {"name": "loadbalance"}}"
nmcli con mod team0 ipv4.addresses 192.168.0.100/24
nmcli con mod team0 ipv4.method manual
nmcli con add con-name team0-port1 type team-slave ifname eth1 master team0
nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0
/etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"
DEVICETYPE=Team
BOOTPROTO=none
NAME=team0
ONBOOT=yes
IPADDR=192.168.0.100
PREFIX=24
/etc/sysconfig/network-scripts/ifcfg-team0-port1
NAME=team-prot1
DEVICE=eth1
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort
/etc/sysconfig/network-scripts/ifcfg-team0-port2
NAME=team-prot2
DEVICE=eth2
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort
nmcli connection up team0
nmcli connection up team-port1
nmcli connection up team-port2
nmcli connection show
teamdctl team0 state
nmcli dev disconnect eth1
nmcli dev disconnect eth2
原创文章,作者:anonymous,如若转载,请注明出处:http://www.178linux.com/44584
评论列表(1条)
对网络管理类命令总结的很详细,如果能有一些效果展示会更直观了,文章内容也会更加饱满。