目录
网络配置
原理图如下:
ipconfig指令:查看Windows环境中VMnet8网络配置
ifconfig指令:查看linux环境中的网络配置
ping指令:测试主机之间网络连通性,测试当前服务器是否可以连接目的主机。
可以自己来配置网络环境:可以设置自动获取ip地址,这样每次登录机器,机器的ip地址都是不一样的,这样会对别人找到自己产生麻烦。所以这时我们可以指定ip地址,方式如下:
vi /etc/sysconfig/network-scripts/ifcfg-ens33进入文件:
ifcfg-ens33 文件说明
DEVICE=eth0 #接口名(设备,网卡) HWADDR=00:0C:2x:6x:0x:xx #MAC 地址
TYPE=Ethernet #网络类型(通常是 Ethemet) UUID=926a57ba-92c6-4231-bacb-f27e5e6a9f44 #随机 id
#系统启动的时候网络接口是否有效(yes/no) ONBOOT=yes
# IP 的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配 IP|BOOTP 协议|DHCP 协议)
BOOTPROTO=static #IP 地址
IPADDR=192.168.200.130
#网关GATEWAY=192.168.200.2
#域名解析器DNS1=192.168.200.2
hostname:查看主机名
vim /etc/hostname:修改主机名
设置hosts映射
hosts是一个文本文件,用来记录 IP 和 Hostname(主机名)的映射关系
- windows:在 C:\Windows\System32\drivers\etc\hosts 文件指定即可
- linux:在 /etc/hosts 文件 指定
主机名解析过程分析(Hosts、DNS)
DNS,就是 Domain Name System 的缩写,翻译过来就是域名系统,是互联网上作为域名和 IP 地址相互映射的一个分布式数据库
如下是用户在浏览器中输入了一个网址
- 浏览器先检查浏览器缓存中有没有该域名解析 IP 地址,有就先调用这个 IP 完成解析;如果没有,就检查 DNS 解析器缓存,如果有直接返回 IP 完成解析。这两个缓存,可以理解为 本地解析器缓存
- 一般来说,当电脑第一次成功访问某一网站后,在一定时间内,浏览器或操作系统会缓存他的 IP 地址(DNS 解析记录).如
- 在 cmd 窗口中输入ipconfig /displaydns //DNS 域名解析缓存
-
ipconfig /flushdns //手动清理 dns 缓存
- 如果本地解析器缓存没有找到对应映射,检查系统中 hosts 文件中有没有配置对应的域名 IP 映射,如果有,则完成解析并返回。
- 如果 本地 DNS 解析器缓存 和 hosts 文件 中均没有找到对应的 IP,则到域名服务 DNS 进行解析域
思考:如果黑客在终端窗口将ip地址对应的网站映射修改了,那么你输入的域名,访问的就不是真正的网站,由此骗取用户!比如:192.168.200.1 www.baidu.com。则当你访问百度的时候,出现的网址就不是真正的百度,而是这个假冒的192.168.200.1
进程管理
- UID:用户ID PID:进程号 PPID:父进程号
- ps:查看目前系统中,有哪些进程正在执行,以及他们的执行情况。信息选项如下:
- PID:进程号
- TTY:终端机号
- TIME:此进程所消耗CPU时间
- ps -a:显示当前终端的所有进程信息
- ps -u:以用户的格式显示进程信息
- ps -x:显示后台进程运行的参数
- ps -ef:以全格式显示当前所有的进程。-e:显示所有进程,-f:全格式
- 显示的信息说明:
- System V 展示风格
- USER:用户名称
- PID:进程号
- %CPU:进程占用 CPU 的百分比
- %MEM:进程占用物理内存的百分比
- VSZ:进程占用的虚拟内存大小(单位:KB)
- RSS:进程占用的物理内存大小(单位:KB)
- TTY:终端名称,缩写 .
- STAT:进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-
-
正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
- STARTED:进程的启动时间
- TIME:CPU 时间,即进程使用 CPU 的总时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
top动态监控进程
top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程
格式:top [选项]
-d秒数:指定top命令每隔几秒更新,默认是3秒。-i:使top不显示任何闲置或者僵死进程。-p:通过指定监控进程ID来仅仅监控某个进程的状态。
交互说明:按如下键:
P:以CPU使用率排序(默认)。M:以内存的使用率排序。N:以PID排序。q:退出top
终止进程
kill [选项] 进程号(功能描述:通过进程号杀死/终止进程)
killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
常用选项:-9表示强迫进程立即停止
进程树pstree
pstree [选项] ,可以更加直观的来看进程信息
常用选项:-p显示进程的UID。-u显示进程的所属用户
service服务管理
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld , sshd防火墙等),因此我们又称为守护进程,是 Linux 中非常重要的知识点。
service 服务名 [start | stop | restart | reload | status]
setup查看服务名
Linux 系统有 7 种运行级别(runlevel):常用的是级别 3 和 5
- 运行级别 0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动
- 运行级别 1:单用户工作状态,root 权限,用于系统维护,禁止远程登陆
- 运行级别 2:多用户状态(没有 NFS),不支持网络
- 运行级别 3:完全的多用户状态(有 NFS),无界面,登陆后进入控制台命令行模式
- 运行级别 4:系统未使用,保留
- 运行级别 5:X11 控制台,登陆后进入图形 GUI 模式
- 运行级别 6:系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动
Linux虚拟机开机说明
chkconfig指令
通过 chkconfig 命令可以给服务的各个运行级别设置自 启动/关闭。chkconfig 指令管理的服务在 /etc/init.d 查看
例子:对 network 服务 进行各种操作, 把 network 在 3 运行级别,关闭自启动。chkconfig --level 3 network off。chkconfig --level 3 network on
systemctl管理指令
格式:systemctl [start | stop | restart | status] 服务名
systemctl 指令管理的服务在 /usr/lib/systemd/system 查看
设置服务的自启动状态:
-
(1) systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态, grep 可以进行过滤) (2)systemctl enable 服务名 (设置服务开机启动)
(3)systemctl disable 服务名 (关闭服务开机启动)
(4)systemctl is-enabled 服务名 (查询某个服务是否是自启动的)
-
例子:查看当前防火墙的状况,关闭防火墙和重启防火墙:firewalld.service
-
systemctl status firewalld; systemctl stop firewalld; systemctl start firewalld
-
说明:这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。如果希望设置 某个服务自启动或关闭永久生效,要使用 systemctl [enable|disable] 服务名
-
打开或者关闭指定端口
-
-
firewall指令
- 打开端口: firewall-cmd --permanent --add-port=端口号/协议
- 关闭端口: firewall-cmd --permanent --remove-port=端口号/协议
- 重新载入,才能生效 : firewall-cmd --reload
- 查询端口是否开放: firewall-cmd --query-port=端口/协议
netstat监控网络状况
格式:netstat [选项] 。-an按一定顺序排列输出。-p显示哪个进程在调用