Linux网络管理

前言

只有光头才能变强前端

回顾前面:linux

这篇主要讲解在Linux下网络的管理shell

那么接下来就开始吧,若是文章有错误的地方请你们多多包涵,不吝在评论区指正哦~windows

声明:基于Centos6.9浏览器

1、Linux下的网络

Linux支持各类协议类型的网络缓存

  • TCP/IP、NetBIOS/NetBEUI、IPX/SPX、AppleTake等
  • 在网络底层也支持Ethernet、Token Ring、ATM、PPP(PPPoE)、FDDI、Frame Relay等网络协议。
  • 这些网络协议是Linux内核提供的功能,具体的支持状况由内核编译参数决定。

配置网络参数有两种方式:bash

  • 临时性网络配置
    • 经过命令修改当前内核中的网络相关参数实现,配置后当即生效,从新开机后失效
  • 永久性网络配置
    • 经过直接修改网络相关的配置文件实现,须要重启服务,从新开机后保留全部配置

在Linux下配置网络,总会遇到桥接和NAT模式的概念的,这里我简要摘抄一下:服务器

  • 桥接模式的虚拟机,就像一个在路由器"民政局"那里"上过户口"的成年人,有本身单独的居住地址,虽然和主机住在同一个大院里,但好歹是有户口的人,能够大摇大摆地直接和外面通讯。
  • NAT模式的虚拟机,纯粹就是一个没上过户口的黑户,路由器"民政局"根本不知道有这么我的,天然也不会主动和它通讯。即便虚拟机偶尔要向外面发送点的信件,都得交给主机以主机的名义转发出去,主机还专门请了一位叫作NAT的老大爷来专门负责这些虚拟机的发信、收信事宜。
  • 仅主机模式的虚拟机,纯粹是一个不折不扣的黑奴,不只没有户口、路由器"民政局"不知道这么号人,还被主机关在小黑屋里,连信件也不许往外发。

参考资料:微信

1.1经常使用的管理网络命令

网络接口相关网络

  • 查看网络接口配置:ifconfig [ethX]
  • 网络接口的启用与停用:使用 ifup ethX 命令来启用指定的接口,使用 ifdown ethX 命令来禁用指定的接口

临时配置相关

  • ifconfig命令能够临时地设置网络接口的IP参数
  • route命令能够临时地设置内核路由表
  • 使用hostname命令能够临时地修改主机名
  • 使用sysctl命令能够临时地开启内核的包转发

使用命令来作网络的临时配置,要作到永久配置就须要直接修改文件的方式了!

网络检测的经常使用工具:

  • ifconfig 检测网络接口配置
  • route 检测路由配置
  • ping 检测网络连通性
  • netstat 查看网络状态
  • lsof 查看指定IP 和/或 端口的进程的当前运行状况
  • host/dig/nslookup 检测DNS解析
  • traceroute 检测到目的主机所通过的路由器
  • tcpdump 显示本机网络流量的状态

1.1配置Linux网络练习题

检查windows的virtualbox虚拟网卡是否禁用,若是禁用,请启动;以root帐户登陆,用ifconfig检查当前网络配置;而后分别用ifup命令启动eth0网卡和eth1网卡,观察结果,并记录网卡绑定的ip地址,在第五部分记录。关闭检查防火墙的状态,若是防火墙已启动,请关闭linux系统的防火墙,

启动putty,在Host Name输入框中输入eth1网卡当前的ip地址,connection type 选择SSH,Port为22;按“open”按钮,提示Putty Security Alert对话框,选择肯定;分别以root帐户,jkXX帐户登陆

在root帐户登陆的putty终端上查看(ps au)当前用户运行的进程,找到jk08帐户运行的shell程序的pid,而且在第五部分记录。在root帐户登陆的putty终端上,用kill命令杀死刚才记录的shell程序;

杀死一个进程须要什么条件?若是是peter帐户,是否能够杀死jason帐户运行的进程?

答:杀死一个进程,应得到这个进程控制的权利,好比得到进程所属帐户的权限;或者得到超级帐户的权限。若是是peter帐户,没有得到jason帐户的权限,所以,杀死jason帐户下运行的进程是被禁止的。

用路由命令查看当前网络路由情况,并用ping命令测试外部网站地址是否能够连通;并截图

用ifconfig查看eth0的当前ip地址;修改ip地址,地址的最后一段数字比原来的大1,查看是否成功;用ifconfig修改eth0的地址,要求指定掩码和广播地址,其中掩码为B类地址掩码;用路由命令观察路由表的变化;

在eth1网卡上添加一个主机路由,要求其主机ip地址为192.168.3.3;在eth0网卡上添加一个网络路由,网络地址为10.20.0.0,掩码是255.255.0.0;观察路由表中的默认路由,根据步骤(2)观察到的默认路由,恢复默认网关路由,并测试网络与外部网站的连通性;

给网卡eth1设置别名eth1:0,ip地址比eth1的ip地址最后一段数字大1;从windows端,用ping命令测试eth1和eth1:0的连通性;中止eth1:0工做,观察结果,并截图

修该主机名称为serverXX(XX为学生学号末两位),退出shell从新登陆;观察内核参数net.ipv4.ip_forward的值,将其修改成1;

为何默认路由记录不见了,可能的缘由是?

答:修改了默认路由通过的网卡eth0的ip地址,对原有路由影响较大,所以系统自动将默认路由删除。

一个网卡有多个IP地址有什么好处?

答:好处是有利于在一个网卡上绑定多个相同的网络服务,好比能够绑定多个网站。

编辑eth0和eth1的网络接口文件,要求修改成启动时自动启动设备;而且要求eth1的地址为192.168.56.121,网络前缀为26;系统重启,检验网卡是否自动启动,及其IP地址;

编辑本地域名解析配置文件,要求添加10.0.2.2地址,对应的域名为gateXX(其中XX为学生学号的末两位),存盘退出;执行ping命令,参数为gateXX,检查经过域名是否能够连通对应的ip地址;

编辑文件,使得系统支持ip包转发;用sysctl -p命令让修改结果生效;

用ping命令测试网站www.qq.com,要求只发送10次ICMP测试包;用netstat命令观察网络接口信息;用netstat命令观察路由表信息;用netstat命令观察正在监听的tcp端口;用netstat命令观察正在监听的udp端口;

sysctl -p看到的是配置文件中的数据,仍是内存中的数据?

答:看到的既是配置文件中的数据,也是内存中的数据。由于-p参数的意思是把配置文件中的数据更新到内存中。

2、安装软件

通常咱们的Centos下安装软件能够直接使用yum命令来安装,很是方便。在yum以前还有一个RPM,来看看它的区别:

  • rpm是由红帽公司开发的软件包管理方式,使用rpm咱们能够方便的进行软件的安装、查询、卸载、升级等工做。可是rpm软件包之间的依赖性问题每每会很繁琐,尤为是软件由多个rpm包组成时。
  • Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,可以从指定的服务器自动下载RPM包而且安装,能够自动处理依赖性关系,而且一次安装全部依赖的软体包,无须繁琐地一次次下载、安装。

2.1yum使用

yum  [全局参数] 命令 [命令参数]
复制代码

经常使用的全局参数:

  • -y:对yum命令的提问回答“是(yes)”
  • -C:只利用本地缓存,不从远程仓库下载文件
  • --enablerepo=REPO:临时启用指定的名为REPO的仓库
  • --disablerepo=REPO:临时禁用指定的名为REPO的仓库
  • --installlroot=PATH:指定安装软件时的根目录,主要用于为chroot环境安装软件

2.2几种经常使用的网络工具

2.3练习yum安装软件与使用

用yum查找软件包tree,lsof,traceroute,观察结果;查找tree软件包的基本信息;安装tree,lsof,traceroute三个软件包

运行命令tree,查看/etc目录下的子目录状况;运行lsof查看使用网络tcp端口22的是哪一个应用;用traceroute命令观察某个网站通过了多少个路由

用浏览器打开网站http://www.rpmfind.net,分别查找软件包system-config-network-tui, tree, ntsysv,找到软件包,并复制下载连接;在linux中用wget下载连接,成功下载后,用长格式列出该文件

用rpm工具查看全部已经安装的软件包,并将结果输出到文件installXX.txt,其中(XX为学生学号末两位);用rpm查看bash的软件包信息;用rpm查看安装包文件的数字签名信息;

使用rpm分别安装第2步下载的三个软件包;它们都能顺利安装吗?为何会出错;观察结果,

哪一个软件包不能顺利安装,为何?应该怎样安装该软件?

答:system-config-network-tui-1.6.0.el6.3-4.el6.noarch.rpm软件包不能顺利安装,由于这个软件包依赖其余软件包,应把依赖的软件包先安装,才能安装这个软件包。能够yum工具安装,它能够自动安装依赖的软件包。

4、总结

本文主要是总结了Linux下网络和安装软件的知识~~~这两个知识点在Linux下也是很重要的,是学习Linux的基础~

继续完善上一次的思惟导图

若是文章有错的地方欢迎指正,你们互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同窗,能够关注微信公众号:Java3y

文章的目录导航

相关文章
相关标签/搜索