网络管理学习的几个疑问解决
###1、CentOS5、6、7系统忘掉服务器登录密码,如何解决登录问题
由于CentoOS5、6在修改登录用户密码是一样的此处就讲解CentOS6的修改
1.开机启动系统,在进入系统之前按键盘上面的Esc键,会进入grub界面
2.按键盘上的e键,出现下面界面
3.用键盘上的方向键移动光标到第二项,然后再按键盘上面的e,会出现下面的界面
4.输入一个空格键,然后在输入数字1,回车之后,会出现下面的界面
5.这个时候光标还是定位在第二项,继续按键盘上面的b键,系统会自动重启,进入下面的界面
6.现在重置root密码输入passwd 修改的密码,回车
看到passwd:all authentication tokens updated successfully.一行说明密码修改成功
7.现在重启系统,输入shutdown -r now 回车
注:做到这一步就可以重新拥有服务器了,不需要重新装系统
CentOS7登录密码的修改方法
1.开机启动系统,在进入系统之前按键盘上面的Esc键,会进入下面的界面
2.按键盘上的e键,出进入编辑界面,在rhgb quiet一行的后面添加
init=/bin/sh
3.键盘组合键 ctrl+x 进入,输入
mount -o remount ,rw /
4.输入passwd 输入密码,centos7 密码必须长度为8
5.系统在重启时就会对整个文件系统进行relabeling
touch / .autorelabel
6.现在重启系统,密码修改成功
2、centos6中修改网卡名称方法
1.将其中对应要修改的网卡最后的NAME=”eth2″改为所需要的名称
[root@zangfan ~]# vim /etc/udev/rules.d/70-persistent-net.rules
2.在/etc/sysconfig/network-scripts中创建,文件格式为ifcfg-网卡名
2.1 cp ifcfg-eth0 ifcfg-网卡名
2.2 修改网卡配置文件的MAC地址
[root@zangfan ~]# ifconfig ethx| grep Link>>/etc/sysconfig/network-script/ifcfg-ethx
3.修改上述配置文件,将其中的DEVICE=改为网卡名,把1步骤的MAC与之替换
4.ethtool -i eth0 查看驱动模块名 (网卡名为修改前的名字)
5.modprobe -r e1000 卸载模块 (网卡名为修改前的名字)
6.modprobe e1000 重新加载模块 (网卡名为修改前的名字)
7.ifdown 网卡名 #关闭网卡
8.ifup 网卡名 #激活网卡
9.重启网络服务:
方法一:
[root@zangfan ~]# service network restart
方法二:
[root@zangfan ~]# /etc/init.d/network restart
方法三:
[root@zanfan ~]# /etc/init.d/NetworkManager restart #此方法可以补齐
注:如果上述方法没有成功获取IP查看网卡有没有设置为DHCP服务
3、clone一份镜像源
关掉主机,冷备份,点击虚拟机右键进入设置,选择通过选项常规查看镜像源的位置,对镜像源进行复制
在一个vlan里面要保持MAC地址不同,点击“我已复制该虚拟机”使MAC地址自动发生变化,“我已移动该虚拟机”不做任何修改
4、如何在CentOS7上使用传统的命令方式?
方法一
1.进入/etc/grub2.cfg 添加net.ifnames=0
2.对网卡配置信息进行修改
[root@zangfan ~]# cd /etc/sysconfig/network-scirpts/ [root@zangfan ~]# vim ifcfg-ens33 DEVICE=eth0 ...
3.重启系统(reboot)
方法二
(1)第一步另一种较安全的修改方法
vim /etc/default/grub GRUB_CMDLINE_LINUX="rhgbquiet net.ifnames=0"
(2) 为grub2生成其配置文件
[root@zangfan ~]# grub2-mkconfig -o /etc/grub2.cfg
边际知识补充
注意:不要轻易去更改/etc/grub2.cfg文件,如果有任何语法错误就会造成系统起不来,可以在/etc/default/grub里面进行修改,此处错误也仅仅是运行错误
修改DEVICE非常关键,配置文件名不重要,在 CentOS7里面只要有MAC地址自动通过MAC获得IP信息,无论配置文件命修改为什么名称
NAME知识描述可修改可不修改
5、修改CentOS6、7主机名立即生效的方法
CentOS6
1.到配置文件里面进行修改
vim /etc/sysconfig/network HOSTNAME=zangfans ...
2.然后在命令行执行
[root@zangfan ~]# hostname=zangfans
注:1.以上修改成功可以su – 切换查看 ;2.如果在/etc/profile对PS1中对主机名做了设置是无法通过上面成功完成的
此方法设置完成,在今后只需要通过hostname就可以一次设置永久保存(CentOS6此方法不适用·)
CentOS7
CentOS7里面可以修改 /etc/hostname 指定主机名称,CentOS6里面没有这个文件
hostnamectl 即改当前hostname,也改配置文件
这里/etc/sysconfig/network与/etc/hostname 虽然主机名不同但是登录终端主机名为zangfans,我想在CentOS6里面修改主机名永久生效的方式会逐步淘汰,此时这里就不能通过hostname命令对指定主机名永久生效,此主机名只对当前shell有效,hostnamectl功能完善了CentOS6对hostname修改主机名没有的功能,hostname命令依然回到了原始的定位
6、如何正确启动动态路由协议?
CentOS6中默认是不安装quagga包的,第一次使用得安装一下
查看一下动态路由协议有哪些
[root@zangfan ~]# rpm -qi quagga
RIP #早期 OSPF #根据带宽
查看启动服务位于的位置
错误启动动态路由协议示范
错误返回值是6,查看报错的位置
注:启动的服务必须以.conf结尾,此处可以把样例复制一份
[root@zangfan ~]# cp ripd.conf.sample ripd.conf
[root@zangfan ~]# /etc/init.d/ripd restart
此时启动服务成功
7、为什么不使用netstat反而逐步过渡到ss?
顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。
天下武功唯快不破。ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。(但仍然比 netstat要快。)
当服务器维持3万个socket连接,Admin需要计算具体的连接数量时,不同情况的耗时如下:
netstat -at | wc 耗时 15.60 秒 ss -atr | wc 耗时 5.40 秒(未利用tcp_diag) ss -atr | wc 耗时 0.47 秒(利用tcp_diag)
版权声明:本文为zangfans原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。