网络管理
- 网络状态查看
- 网络配置
- 路由命令
- 网络故障排除
- 网络服务管理
- 常用网络配置文件
网络状态查看 net-tools vs iproute
在centos 7 之前用的工具包叫net-tools。
net-tools:
- ifconfig
- route
- netstat
在centos 7 之后主推iproute
工具包。
iproute2
- ip
- ss
查看网络情况
- 查看网卡物理连接状态
- mii-tool eth0
- 查看网关
- route -n
- 使用-n参数不解析主机名
网络配置命令
- ifconfig <接口><IP地址>[netmask 子网掩码]
- ifup <接口>
- ifdown <接口>
网关配置命令
- 添加网关
- route add default gw <网关IP>
- route add -host <指定IP> gw <网关IP>
- route add -net <指定网段> netmask <子网掩码> gw <网关IP>
ifconfig eth0
ifconfig eth0 10.1.1.1.
ifconfig eth0
ifconfig eth0 1.1.1.1 netmask 255.255.255.0
route -n
# 修改网关前,删除旧的
route del default gw 10.2.1.1
route add default gw 10.2.2.2
route -n
# 设置主机host 10.0.0.1时,走10.3.3.3
route add -host 10.0.0.1 gw 10.3.3.3.
# 设置网段 192.168.0.0时,走10.4.4.4
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.4.4.4
route -n
网络故障排除
- ping
- traceroute
- mtr
- nslookup
- telnet
- tcpdump
- netstat
- ss
# -w 1 超时时间1秒
traceroute -w 1 www.baidu.com
# 通过域名获取IP
nslookup www.baidu.com
# 查看端口是否通畅
telnet www.baidu.com 80
tcpdump -i any -n port 80 host 10.0.0.1 -w /tmp/filename
# 使用netstat查看服务的监听地址
# -n 显示IP地址,不要显示域名
# -t 以tcp的形式截取想要显示的内容
# -p 显示端口对应的进程
# -l tcp的状态listen
# 监听127.0.0.1,只有自己能收到;要别人也能使用,要改成监听0.0.0.0
netstat -ntpl
ss -ntpl
软件包管理器
- CentOS,RedHat使用yum包管理器,软件安装包格式为rpm
- Debian,Ubuntu使用apt包管理器,软件安装包格式为deb
rpm包
# rpm包格式
vim-common-7.4.10-5.el7.x86_64.rpm
软件名称 软件版本 系统版本 平台
rpm命令
- -q 查询软件包
- -i 安装软件包
- -e 卸载软件包
yum包管理器
-
rpm包的问题
- 需要自己解决依赖关系
- 软件包来源不可靠
-
CentOS yum源
- http://mirror.centoss.org/centos/7/
-
国内镜像
- https://opsx.alibaba.com/mirror
-
yum配置文件
- /etc/yum.repos.d/CentOS-Base.repo
- wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo(下载 覆盖配置文件)
# /etc/yum.repos.d/CentOS-Base.repo
[base]
name=xxx # 标题
baseurl=http://xxx
gpgcheck=1 # yum源软件包有没有被人恶意修改
gpgkey=xx
yum命令常用选项
- install 安装软件包
- remove 卸载软件包
- list|grouplist 查看软件包
- update 升级软件包
进程管理
进程的查看命令
- ps
- pstree
- top
# 当前终端/shell下的进程状态
ps
# 查看其他的进程
ps -e
#
ps -eLf
pstree
# 显示进程及系统信息
top
进程的优先级调整
- 调整优先级
- nice范围从-20到19,值越小优先级越高,抢占资源就越多
- renice重新设置优先级
- 进程的作业控制
- jobs
- & 符号
# 后台运行
./a.sh &
# 查看后台进程
jobs
# 后台进程调回前台
fg 1
进程间通信
信号是进程间通信方式之一,典型用法是:终端用户输入中断命令,通过信号机制停止一个程序的运行。
- SIGINT 通知前台进程组终止进程
ctrl + c
- SIGKILL 立即结束程序,不能被阻塞和处理
kill -9 pid
Linux下检测远程端口是否打开
// 方法一. telnet
telnet ip port
// 方法二. nmap ip -p port 测试端口
nmap ip 显示全部打开的端口(根据open/close确定端口是否打开)
// 方法三. nc -v host port
端口未打开返回状态为非0
Linux查看端口占用
Linux查看端口占用情况可以使用lsof和netstat命令。
// lsof(list open files):列出当前系统打开文件
lsof -i:端口号
lsof -i:443
// netstat
netstat -tunlp 用于显示tcp,udp的端口和进程等相关情况。
netstat -tunlp | grep 端口号
netstat -tunlp | grep 80
-t(tcp) 仅显示tcp相关选项
-u(udp) 仅显示udp相关选项
-n 拒绝显示别名
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名