zoukankan      html  css  js  c++  java
  • Linux新手随手笔记1.8-配置网卡

    配置网卡服务

    将网卡的配置文件,保存成模板,叫做会话。

    nmcli命令查看网卡信息。nmcli是一款基于命令行的网络配置工具

    只有一个网卡信息,下面我们再添加一个。

    公司:静态IP地址

    家庭:DHCP自动获取

    我们需要虚拟机为我们提供DHCP服务,这样做。

    先配置一下公司的网络会话

    RHEL7系统支持网络会话功能,允许用户在多个配置文件中快速切换(非常类似于firewalld防火墙服务中的区域技术)。如果我们在公司网络中使用笔记本电脑时需要手动指定网络的IP地址,而回到家中则是使用DHCP自动分配IP地址。这就需要麻烦地频繁修改IP地址,但是使用了网络会话功能后一切就简单多了—只需在不同的使用环境中激活相应的网络会话,就可以实现网络配置信息的自动切换了。

    可以使用nmcli命令并按照“connection add con-name type ifname”的格式来创建网络会话。假设将公司网络中的网络会话称之为gongsi,将家庭网络中的网络会话称之为house,现在依次创建各自的网络会话。

    使用con-name参数指定公司所使用的网络会话名称company,然后依次用ifname参数指定本机的网卡名称(千万要以实际环境为准,不要照抄书上的eno16777736),用autoconnect no参数设置该网络会话默认不被自动激活,以及用ip4及gw4参数手动指定网络的IP地址:

     创建会话首先我们用的命令是nmcli,然后add添加一个我们的网卡,con-name 后面是会话名称,我们这里叫gongsi .然后是ifname后面是网卡名称,不知道的可以自己ifconfig自己查一下。autoconnect是说是否进行自动连接,我们这里给他选为no不自动连接。type 是网卡类型,我们是以太网类型也就是ethernet 。ip4是让我们设置IPV4的地址,我们设置为192.168.10.88/24,静态手动的地址,(动态是DHCP)24是子网掩码的一种表示。gw(gateway)指的是网关地址,我们这里不需要,但这是格式,我们写上192.168.10.1。

    使用con-name参数指定家庭所使用的网络会话名称house。因为我们想从外部DHCP服务器自动获得IP地址,因此这里不需要进行手动指定。

    然后我们来开启一个会话

    用nmcli connection up gongsi 就开启了公司的会话,加house就开启了家庭会话。

    当设置为家庭会话我们可以看到,IP从本机网卡的192.168.10.10变成了192.168.32.131,

    如果想要删除的话我们用nmcli connection delete house

    我们看一下他又变回去了,而且nmcli connection show里面我们发现没有house这个会话了。

    会话作用:将网卡信息作为一个模板,实现一个快速切换。

    ----------------------------------------------------------------------------------------------------------------------------------

                                                                                    网卡绑定

    RHEL5/6/7        绑定bonding

    RHEL7              (端口)聚合  team

    我们先关机然后编辑虚拟机。

    再添加一块网卡,然后他们的模式必须一致,比如都是主机模式

    这里和大家说一下,虚拟机在模拟硬盘和网卡的时候经常出错,所以建议大家先关机再添加再开机

    注意新的网卡是在我们服务器是没有的,必须自己配置。

    我们先进去原来的网卡配置文件把里面的信息删掉。(为了把两个网卡绑定在一起做准备)

    他的优点:

    1:好的时候,同时工作,提升网络

    2:当某一个网卡坏了的时候,另一块自动备援(顶替),保证网络传输不间断。

    现在我们进行编辑配置文件。:

    复习一下TYPE 是网卡类型。BOOTPROTO是启动方式,我们选择none默认。ONBOOT是否开机启动,我们选择是。USERCTL是是否通过我们用户的命令行来进行控制,DEVICE是设备名称,自己查看。MASTER是主网卡的名称,这个是规定的必须是bond0另一个是bond1。SLAVE是从属网卡。需要注意的是,这些原本独立的网卡设备此时需要被配置成为一块“从属”网卡,服务于“主”网卡,

     然后我们创建另一个网卡信息的配置文件

    vim 网卡名称(eno33554992)

     

    然后再我们再配置出来一个bond0

    NM = NetworkManager   大小写要区分 :让你的网卡保证能够运行,进行基本的管理,但是我们今天要做的网卡绑定,是比较高级的操作,必须要让网卡不再NM。

    接下来还有

    我们在/etc/modprobe.d/bond.conf创建一个文件bond.conf。他是为了让我们内核能够去支持对于bond.conf设备的一个支持网卡绑定的技术。

    其实也就是将这两个网卡绑定,然后给他取一个新的名字叫做bond0

    mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。

    mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。

    mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。

     

    alias bond0 bonding 意思是我们这个bond0他会去支持我们这个绑定技术的意思。

    options bond0 miimon=100 mode=6是说设置成6的话就是说

    1.好的时候会同时工作

    2.坏的时候会自动备援,miimon=100是说当检测到网卡坏了,切换时间是100毫秒,丢包1次。

    然后我们再你的Windows机器上一直ping,这时候你删除一块网卡,会出现一次丢包,然后立刻会恢复的。这就是我们这次实验的作用。

     

     移除了一个,然后丢包了一次立刻就接上了。

    就是修改配置文件,是不是很方便安全呢,赶快试一试。

    ------------------------------------------------------------------------------------------------------------------------------

                                                                                远程控制服务

    sshd  远程控制服务,远程Linux系统管理服务。

    1.LInux系统中的一切都是文件

    2.部署服务就是在修改服务配置文件

    3.要运行最新参数需要重启对应的服务。

    4.顺手将配置的服务加入到启动项中,保证重启后依然有效。

     必须确保我们网络能ping通。

    然后我们第一步配置文件

    /etc/ssh/sshd_config    主配置文件

    我们看到里面一堆乱七八糟的,但是其实都是注释,就是不起作用

    注释:对于我们的服务功能,或者某个参数的一种解释或者说明,程序是不读取的。主要是给人看的。

    我们把注释去掉,然后把他端口号换了,然后保存退出。然后我们直接访问发现还是不行,因为我们修改了配置文件但是没有重启服务。

     重启服务之后我们再试一下,发现还不行,因为还有一个东西,SELinux阻止了我们。我们给他设置为0再试一下。

    这个命令是临时关闭他的意思。我们发现还是不行,哈哈哈,因为防火墙的原因。

    这里我们执行iptables -F

    有一个小细节,Xshell端口号和IP之间没有:

    我们如果直接让root用户登录远程是不是有点不太安全,所以我们来设置一下禁止root用户直接登录ssh服务

    PermitRootLogin yes  我们分开3个单词看,Permit 他是允许,root 管理员登录,所以连起来就是允许管理员登录系统,你可以yes 可以no.

    我们选择no,别忘了重启服务,我们试一下。这时你会发现,似乎能连接上,但是当你输入密码之后就像一直没输入对一样,其实你是对的,只不过是不允许root用户登录了。其他用户依然可以。

                       sshd服务配置文件中包含的参数以及作用

    参数 作用
    Port 22 默认的sshd服务端口
    ListenAddress 0.0.0.0 设定sshd服务器监听的IP地址
    Protocol 2 SSH协议的版本号
    HostKey /tc/ssh/ssh_host_key SSH协议版本为1时,DES私钥存放的位置
    HostKey /etc/ssh/ssh_host_rsa_key SSH协议版本为2时,RSA私钥存放的位置
    HostKey /etc/ssh/ssh_host_dsa_key SSH协议版本为2时,DSA私钥存放的位置
    PermitRootLogin yes 设定是否允许root管理员直接登录
    StrictModes yes 当远程用户的私钥改变时直接拒绝连接
    MaxAuthTries 6 最大密码尝试次数
    MaxSessions 10 最大终端数
    PasswordAuthentication yes 是否允许密码验证
    PermitEmptyPasswords no 是否允许空密码登录(很不安全)

    systemctl enable sshd 复习一下这是加入开机启动项。

    服务程序两个登录验证方式。1.密码   2.密钥(yue):他是客户端生成好了发送给服务端

    安全密钥验证

    我们说一下密钥

    在客户端主机中生成“密钥对

    我们用命令ssh-keygen命令,然后回车回车回车,或者(第一个回车是设置密钥的存储路径,直接按回车键或设置密钥的密码再次按回车键或设置密钥的密码)[root@linuxprobe ~]# ssh-keygen

    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):按回车键或设置密钥的存储路径
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase):直接按回车键或设置密钥的密码
    Enter same passphrase again:再次按回车键或设置密钥的密码
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    40:32:48:18:e4:ac:c0:c3:c1:ba:7c:6c:3a:a8:b5:22 root@linuxprobe.com
    The key's randomart image is:
    +--[ RSA 2048]----+ |+*..o . | |*.o + | |o* . | |+ . . | |o.. S | |.. + | |. = | |E+ . | |+.o | +-----------------+
    我们可以cat /root/.ssh/id_rsa文件就是生成出来的密钥文件了,你觉得和密码比较那个安全。
    第一步:ssh-keygen
    第二步:ssh-copy-id :把客户端主机中生成的公钥文件传送至远程主机
    我们在客户端设置好之后

    我们用ssh-copy-id 192.168.10.10客户端传送给服务端之后。我们再设置一下服务端配置文件/etc/ssh/sshd_config。

    将他改为no之后就不用输入密码了。

    这样我们就在客户端直接访问到服务端了。

    ---------------------------------------------------------------------------------------------------------

    远程传输命令

    scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp [参数] 本地文件 远程帐户@远程IP地址:远程目录”。

    cp命令只能在本地硬盘中进行文件复制,而scp不仅能够通过网络传送数据,而且所有的数据都将进行加密处理。例如,如果想把一些文件通过网络从一台主机传递到其他主机,这两台主机又恰巧是Linux系统,这时使用scp命令就可以轻松完成文件的传递了。scp命令中可用的参数以及作用如表9-2所示。

                                scp命令中可用的参数及作用

    参数 作用
    -v 显示详细的连接进度
    -P 指定远程主机的sshd端口号
    -r 用于传送文件夹
    -6 使用IPv6协议

    我们传过去之后用客户端看就会发现已经有了。

    接下来我们把客户端文件下载下来,先在客户端创建个文件名字叫xiazai

    然后在服务端去下载它

    然后我们用服务器下载客户端上的文件,xiazai,执行后会发现目录里面出现了xiazai.记住这是两台机器啊,192.168.10.10是服务端,192.168.10.20是客户端。别以为我拿一个虚拟机玩呢。

    总结一下:

    上传:scp 文件名称 对方主机 :/目录

    下载:scp 对方主机:/目录/文件名称  /本地目录

    不间断会话服务

    大家在学习sshd服务时,不知有没有注意到这样一个事情:当与远程主机的会话被关闭时,在远程主机上运行的命令也随之被中断。

    果我们正在使用命令来打包文件,或者正在使用脚本安装某个服务程序,中途是绝对不能关闭在本地打开的终端窗口或断开网络链接的,甚至是网速的波动都有可能导致任务中断,此时只能重新进行远程链接并重新开始任务。还有些时候,我们正在执行文件打包操作,同时又想用脚本来安装某个服务程序,这时会因为打包操作的输出信息占满用户的屏幕界面,而只能再打开一个执行远程会话的终端窗口,时间久了,难免会忘记这些打开的终端窗口是做什么用的了。

    screen是一款能够实现多窗口远程控制的开源服务程序,简单来说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。用户还可以使用screen服务程序同时在多个远程会话中自由切换,能够做到实现如下功能。

    screen:不间断会话服务,让命令不中断。

    会话恢复:即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制。

    多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看到之前的操作记录。

    会话共享:当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享。

     做这个实验首先我们要配置yum仓库

    首先我们创建出一个挂载点然后进行挂载

    然后我们df -h查看一下就会发现已经挂载好了。

    然后我们编辑一下fstab这个文件,让这个信息能够重启之后也生效。

    设备的绝对路径,挂载目录,我们光盘的格式是iso9660  权限  是否备份  是否校验。

    现在说一下我们这个步骤:

    1.挂载系统镜像

    2.编辑yum仓库配置文件

    3.yum install 软件包名称

    然后我们在/etc/yum.repos.d目录下创建一个文件

    然后我们在这个目录下创建一个文件,这个文件名无所谓,我们就叫haha.repo

    这也是我们最精简的一个yum仓库格式。

    [  ]里面写的是yum仓库名称,也是唯一标识符,只要不冲突就行。

    name也是yum仓库的名称,起什么没关系。

    baseurl是挂载的路径,他有3种方式 (1.http://网络     2.ftp://       3.file://本地)。

    enable是问我们是否启用yum仓库,1是启用,0是停止。

    gpgcheck是说是否校验,0是不,1是校验。

    这样我们配置好了之后,注意的是file:///media/cdrom三个斜杠是对的,不是写错了。大家别忘了/是代表根目录的意思。

    然后我们保存退出。这样就好了,然后我们安装我们的软件吧。

    我们用yum命令下载

    # yum install screen来下载screen软件。

    然后我们安装完之后来使用它,我们用screen -S gill之后看一下效果。这个就是新建出来一个叫gill的会话。

    你会发现前面多了个screen O:的东西,那么就是说我们再这个界面打的所有操作已经不是在Shell终端里面操作了,而是进入到了我们的会话里面了。

    比如这是后我们电脑关机了或者其他导致操作断开,那么

    我这里给他把界面关掉。

    然后我们再输入screen -ls 来查看所有会话信息,我们可以看到有一个会话信息是33747的,名称为gill,他已经是离线模式。Detached 的话就是离线,如果是Attached的话就是在线模式。

    这样结束了肯定是太low了,因为这没什么大用,但是如果我们能恢复会话呢,这样做

    #screen -r gill         gill是会话的名称

     回车

    然后我们会发现会话恢复了,就是我们刚才离开的时候得状态。

    还有一种办法   screen  命令

    # screen vim hoho.txt (我们比如要写一个文件)

    这时候还没有保存,突然断网了。

    我们给他关闭掉。

    我们发现他这个会话还在的。我们来打开它看看内容还在不在。

    我们执行以下这个语句,然后看一下

    他还在,他不光会保存我们的文件,而且会保存我们到之前编写文件的状态。

    ----------------------------------------------------------------------------------------

    共享同步操作界面。

    我们可以创建登录两个窗口做实验,用ssh登录,不是直接打开啊。

    我们可以看到,在第一个窗口创建的screen -S linuxlaoji  可以在第二个用户看到。

    然后我们在第二个窗口打screen -x 加上他的会话号,我们就可以创建一个窗口。

    然后我们就可以看到,你在第一台电脑打的东西分屏的端也能看见。

    是不是很神奇,他们基本是同步的。没有延迟

  • 相关阅读:
    MyKTV项目总结
    TCP滑动窗口Sliding Window
    TCP时间戳选项Timestamp
    TCP窗口扩大选项Window Scale
    TCP最大报文段长度MSS
    TCP路径MTU发现
    TCP主动打开 之 第一次握手-发送SYN
    TCP层accept系统调用的实现分析
    Linux TCP套接字选项 之 SO_REUSEADDR && SO_REUSEPORT
    TCP层bind系统调用的实现分析
  • 原文地址:https://www.cnblogs.com/hshyx/p/10791864.html
Copyright © 2011-2022 走看看