Linux6-配置网络、源码包的编译和安装

配置 linux 网络

配置主机名

修改/etc/hostname 配置文件,永久配置主机名

[root@localhost ~]# vim /etc/hostname
svr7.tedu.cn
[root@localhost ~]# cat /etc/hostname
svr7.tedu.cn
[root@localhost ~]# reboot #重启生效

命令行永久修改主机名

[root@localhost ~]# echo svr7.tedu.cn > /etc/hostname #需要重启生效
[root@localhost ~]# hostname svr7.tedu.cn #可以设置临时主机名,当前生效

配置 IP

修改网卡名

[root@svr7 ~]# vim /etc/default/grub
…
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0" #添加 net.ifnames=0 biosdevname=0
…
[root@svr7 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg #重新生成引导文件,使配置文件生效
[root@svr7 ~]# reboot #重启
验证,网卡名是否发生变化
[root@svr7 ~]# ifconfig #有 eth0 网卡

查看网络连接

使用show指令
nmcli connection show
nmcli connection show “连接名”

  • 配置 IP 地址
[root@svr7 ~]# nmcli connection show #查看连接名
[root@svr7 ~]# nmcli connection delete ens33 #删除
[root@svr7 ~]# nmcli connection show
NAME                 UUID                   TYPE  DEVI
virbr0 0ace37a8-f7ad-45d6-9088-00b367999c0b bridge virb
有线连接 1 02cc8558-b41e-3bc4-817b-243ca95c0417 ethernet eth

重新添加网卡

[root@svr7 ~]# nmcli connection delete 有线连接\ 1
[root@svr7 ~]# nmcli connection add type ethernet ifname eth0 con-name eth0 #添加网卡
连接“eth0”(7b47bf24-859e-45f5-ace7-3b9706b61e55) 已成功添加。
[root@svr7 ~]# nmcli connection show
NAME            UUID                        TYPE      DEVICE
eth0  7b47bf24-859e-45f5-ace7-3b9706b61e55  ethernet  eth0

修改网络连接配置

  • 使用modify指令
    nmcli connection modify ‘连接名’ 参数1 值1…

    • 常用参数:
      ipv4.method auto | manual
      ipv4.addresses ‘IP地址/掩码长度’
      ipv4.gateway 网关地址
      connection.autoconnect yes | no
  • 激活/禁用网络连接
    使用up/down指令
    nmcli connection down "连接名”
    nmcli connection up "连接名”

  • 红帽固定IP地址

    #配置IP地址和网关并实现开机自动连接,此处 ip 地址和网关地址要根据自己的虚拟机网络配置来确定
    #(参考后面虚拟机网络类型步骤)
    [root@svr7 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.10.(5/24) ipv4.gateway 192.168.10.2 connection.autoconnect yes 
    [root@svr7 ~]# nmcli connection up eth0 	#激活 eth0
    [root@svr7 ~]# ifconfig 					#查看配置的 IP
    [root@svr7 ~]# route -n 					#查看网关
    


    在这里插入图片描述

#这里更改的是配置文件所以要进行以下操作重启网卡
nmcli c reload  
nmcli c up eth0     #nmcli c reload会读取配置文件,但是不会立即生效,接着如果执行nmcli c up X,就会立即生效重启
或执行这两条命令
nmcli d reapply eth0       #更新设备信息,只有在设备处于连接状态,才可以更新设备。更新设备相当于重启连接。
nmcli d connect eth0       #连接设备,如果 ens33 本来就出于连接状态,那此命令会重启 ens160。

这里有很详细的好文章

为本机指定 DNS 服务器

  • 配置文件/etc/resolv.conf
    关键记录:nameserver DNS服务器地址

    [root@server0~]# vim /etc/resolv.conf
    search example.com 				//默认域后缀
    nameserver 172.25.254.254 		//设置DNS服务器地址
    [root@svr7 ~]# vim /etc/resolv.conf
    …
    nameserver 8.8.8.8
    
    • 其中,nameserver 8.8.8.8和nameserver 8.8.4.4表示DNS服务器的IP地址是8.8.8.8和8.8.4.4。这两个地址是Google公共DNS的地址。当你的系统需要解析一个域名时,它会向这些DNS服务器发送请求。因此可以ping baidu.com,而不用ping百度的ip地址。
  • 修改指定主机映射文件

    • vim /etc/hosts
[root@svr7 ~]# vim /etc/hosts
增加:
192.168.10.5 svr7.tedu.cn

在这里插入图片描述

此时 ping 主机名,可以映射到 IP, 请注意:该文件应该到发起 ping 的主机上修改,而不是目标主机(被 ping 方)。

虚拟网络类型

  • 桥接模式
    Guest.与Host连接到同一个交换机上
    通过桥接物理网卡,相当于直连到Host所在网络
  • 隔离模式
    Guest可访问同一虚拟交换机上的其他Guest
    但无法访问Host所在外部网络

请选择 NAT 模式

打开 Vmware 虚拟机,选择菜单中的“虚拟机”的“设置”
在这里插入图片描述
再点击编辑,找到虚拟网络编辑器
选择vmnet8 这张网卡,
你的红帽就应该配置到这个 192.168.10.0/24 这个网段,可以配成:192.168.10.5 或者192.168.10.6 以此论推,可以配到 192.168.10.254

在这里插入图片描述
你的虚拟网关是多少呢,请点击上图中的 NAT 设置查看:
在这里插入图片描述

远程管理 linux 主机

ssh 简介

ssh 概述

服务器托管在IDC机房或者云端?
最有效率的命令行远程控制?

  • SSH协议,Secure Shell
    为客户机提供安全的Shell环境
    默认端口:TCP 22
  • OpenSSH服务
    服务名称:sshd
    主程序:/usr/sbin/sshd、/usr/bin/ssh
    配置文件:/etc/ssh/sshd_config、 /etc/ssh/ssh config

克隆

克隆一台新的机器
更改 svr1 虚拟机名字
在这里插入图片描述
选择虚拟机 A,右击 管理—>克隆

克隆 A,选择链接克隆成 B。
在这里插入图片描述
在这里插入图片描述
克隆后的 B 的 IP 会跟 A 一摸一样,此时你必须重新修改 B 的 IP 值,否则会 IP 重复引起冲突,
之后使用 root 用户分别登陆 A 和 B 主机,B 主机更改主机名,IP 地址

[root@svr7 ~]# vim /etc/hostname
pc207.tedu.cn
[root@svr7 ~]# hostname pc207.tedu.cn

以下步骤是让 B 自动获取 IP 的过程,此时假设你的网卡名称是 eth0

[root@svr7 ~]# ping 8.8.8.8 #失败
[root@svr7 ~]# nmcli connection modify eth0 ipv4.method auto connection.autoconnect yes #自动获取 IP
[root@svr7 ~]# nmcli connection up eth0
[root@svr7 ~]# route -n
#测试
[root@svr7 ~]# ping 8.8.8.8 #可以通
[root@svr7 ~]# firefox www.baidu.com #可以访问
如果你想手动修改 ip,可以参照以下命令:
[root@svr7 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.10.7/24 connection.autoconnect yes #配置IP地址和网关并实现开机自动连接
[root@svr7 ~]# nmcli connection up eth0 #激活 eth0

远程登录工具ssh

ssh [选项]… 服务器
ssh [选项]… 用户名@服务器
ssh [选项]… -l 用户名 服务器

  • 指定以对方的用户名登录
[root@svr7~]#ssh zengye@192.168.8.8
zengye@192.168.8.8's password:
/验证用户口令
[zengye@svr1~]#whoami
zengye
  • 以客户端当前用户名作为登录名
[root@svr7~]#ssh192.168.8.8
root@192.168.8.8 s password:/验证对方的root▣令
Last login:Fri Aug 30 17:26:45 2014
[root@svr1~]#whoami
root

ssh 命令选项

-p 端口:连接到指定的端口
-X 启用-X 转发,在本机运行对方的图形程序

[root@svr7 ~]# ssh root@192.168.4.207
…
Are you sure you want to continue connecting (yes/no)? yes #第一次远程会让输入 yes
root@192.168.4.207's password: #输入密码
Last login: Wed Jul 8 11:24:37 2020
[root@pc207 ~]# firefox #运行 firefox 图形程序,失败
Error: GDK_BACKEND does not match available displays
退出,使用-X 选项登陆,成功
[root@pc207 ~]# exit
[root@svr7 ~]# ssh -X root@192.168.4.207
root@192.168.4.207's password:
[root@pc207 ~]# firefox
  • 修改默认端口,pc207 主机操作
[root@pc207 ~]# vim /etc/ssh/sshd_config
Port 8022
[root@pc207 ~]# systemctl restart sshd.service #重启 sshd 服务,systemctl status sshd.service 查看 sshd 服务状态 
切记 selinux 需要是宽松或者禁止状态 setenforce 0
测试:svr7 主机操作,如果测试失败,出现以下问题,请关闭防火墙
[root@svr7 ~]# ssh -p 8022 -X root@192.168.4.207
ssh: connect to host 192.168.4.207 port 8022: No route to host[root@svr7 ~]# systemctl stop firewalld
systemctl disable firewalld
vim /etc/selinux/config
SELINUX=disable 永久关闭 selinux
查看 selinux 状态:getenforce 临时设置 selinux 状态宽松模式:setenforce 0 或 setenforce
permissive 或 disable 关闭。Setenforce 1 或 enforcing 开启强制模式,所有策略生效,这是
selinux 的默认状态。[root@svr7 ~]# ssh -p 8022 -X root@192.168.4.207 #重新测试
root@192.168.4.207's password: 
[root@pc207 ~]#
第一次连接 ssh,会在/root/.ssh/know_hosts 文件中记录 ssh 第一次连接,删除后,会初始
化连接。
恢复端口,直接注释更改的文件,重启服务即可
[root@pc207 ~]# vim /etc/ssh/sshd_config
# Port 8022
PermitRootLogin yes #修改该行,表示允许 root 登录
[root@pc207 ~]# systemctl restart sshd

scp 基于 ssh 远程管理,安全复制工具 scp

scp [-r] 用户名@服务器:路径 本地路径
scp [-r] 本地路径 用户名@服务器:路径
scp /路径/源数据(本地文件) root@对方IP地址:/路径/
scp root@对方IP地址:/路径/ /路径/源数据(本地文件)

[root@svr7 ~]# scp -r /boot/ root@192.168.4.207:/opt/ #把本机的boot目录放到207主
机的 opt 下面
[root@svr7 ~]# scp -r root@192.168.4.207:/boot /opt/ #把远程主机的目录 boot 放到
本地 opt 下
[root@svr7 ~]# ls /opt/

远程管理进阶与 xshell

实现 ssh 无密码验证

  • 生成公钥与私钥,完成 ssh 无密码验证
A[root@svr7 ~]# ssh-keygen #一路回车
A[root@svr7 ~]# ls /root/.ssh/
  • 传递公钥到对方主机
    A 将公钥传递给 B
[root@svr7 ~]# ssh-copy-id root@192.168.4.207
…
#A 然后登录对方 B,发现就不用密码了。
[root@svr7 ~]# ssh root@192.168.4.207
#A 把公钥传给 B, A 就能够不用密码登录 B

Windows–>Linux远程访问

  • 远程登录工具
    Xshell、MobaXterm、.FinalShell、Putty、SecureCRT、…

常用的网络工具

IP 命令的使用

查看 IP 地址

[root@svr7 ~]# ip address show
在这里插入图片描述
<BROADCAST,MULTICAST,UP,LOWER_UP>:
BROADCAST 表示该接口支持广播;
MULTICAST 表示该接口支持多播;
UP 表示该网络接口已启用;
LOWER_UP 表示网络电缆已插入,设备已连接至网络

mtu 1500:最大传输单位(数据包大小)为 1,500 字节

qdisc pfifo_fast:用于数据包排队
state UP:网络接口已启用
qlen 1000:传输队列长度
link/ether 00:1e:4f:c8:43:fc:接口的 MAC(硬件)地址
brd ff:ff:ff:ff:ff:ff:广播地址
inet 192.168.0.24/24:IPv4 地址
brd 192.168.0.255:广播地址
scope global:全局有效
dynamic enp0s25:地址是动态分配的
valid_lft forever:IPv4 地址的有效使用期限
preferred_lft forever:IPv4 地址的首选生存期
inet6 fe80::2c8e:1de0:a862:14fd/64:IPv6 地址
scope link:仅在此设备上有效
valid_lft forever:IPv6 地址的有效使用期限
preferred_lft forever:IPv6 地址的首选生存期

添加 IP 地址

[root@svr7 ~]# ip address add 192.168.8.1/24 dev eth0 #会有 8.1 的 IP,但是是临时的

[root@svr7 ~]# ip addr show
[root@svr7 ~]# ping 192.168.8.1 #可以 ping 通
#也可以使用以下命令,临时配置 ip 地址:
[root@svr7 ~]# ifconfig eth0 192.168.10.5/24
#如果想要每次开机生效,可以写/etc/rc.d/rc.local 文件,给个执行的权限
chmod +x /etc/rc.d/rc.local
[root@svr7 ~]# vim /etc/rc.d/rc.local
ip address add 192.168.8.1/24 dev eth0

添加路由

路由是一种机制,通过它,数据包可以从源主机传输到目标主机。路由表是一个指导数据包如何到达目标地址的指南。添加路由就是在路由表中添加新的条目。
[root@svr7 ~]# ip route add 10.0.0.0/24 via 192.168.8.100 dev eth0

[root@svr7 ~]# ip route show #查看路由表
删除路由
[root@svr7 ~]# ip route del 10.0.0.0/24
[root@svr7 ~]# ip route show
网卡配置文件在: /etc/sysconfig/network-scripts/ifcfg-eth0

追踪路由

  • traceroute 功能:可以知道从本机到达目标所经过的路由器有哪些(用于追踪数据包从源主机到目标主机的路径)
    • 命令格式: traceroute [参数] [主机]
    • TTL值:每经过一个路由器减少1

红帽 8 里面没有这条命令,需要先安装 yum -y install traceroute*
也可以用 mtr 这条命令追踪目标(可以是网址,也可以是 IP)

[root@svr7 ~]# traceroute 192.168.4.7
traceroute to 192.168.4.7 (192.168.4.7), 30 hops max, 60 byte packets
1 svr7.tedu.cn (192.168.4.7) 0.043 ms 0.013 ms 0.011 ms
[root@svr7 ~]# traceroute 192.168.4.207
  • Windows命令路由跟踪tracert
Windos 双击运行-->cmd-->
C:\Users\Administrator>tracert www.baidu.com

ss 与 netstat

-a 显示所有端口的信息
-n 以数字格式显示端口号
-t 显示 TCP 连接的端口
-u 显示 UDP 连接的端口
-l 显示服务正在监听的端口信息
-p 显示监听端口的服务名称是什么(也就是程序名称)

[root@svr7 ~]# netstat -anptu
[root@svr7 ~]# ss -anptu
[root@svr7 ~]# netstat -anptu |grep :22
[root@svr7 ~]# ss -anptu |grep :22

ping 命令

常用选项:
-c:测试包个数
-i:指定收发信息的间隔时间,默认频率是 1 秒一次
-W:设置等待返回时间,默认等待 3 秒。

[root@svr7 ~]# ping -c 2 192.168.4.7 #ping2 次结束
[root@svr7 ~]# ping -c 2 –i 0.2 –W 1 192.168.4.7 #ping2 次结束,频率是 0.2 秒一次,

源码编译安装

源码编译安装的优势

自定义 yum 仓库

yum 仓库的定义

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/263404.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3使用Tailwind CSS

安装 Tailwind 以及其它依赖项 npm install -D tailwindcsslatest postcsslatest autoprefixerlatest生成配置文件&#xff1a; npx tailwindcss init -p.修改配置文件 tailwind.config.js 2.6版本 &#xff1a; module.exports {purge: [./index.html, ./src/**/*.{vue,j…

arm-none-eabi-gcc not find

解决办法&#xff1a;安装&#xff1a;gcc-arm-none-eabi sudo apt install gcc-arm-none-eabi; 如果上边解决问题了就不用管了&#xff0c;如果解决不了&#xff0c;加上下面这句试试运气&#xff1a; $ sudo apt-get install lsb-core看吧方正我是运气还不错&#xff0c;感…

call,apply,bind

1.这三个方法都能改变this的指向 2.代码实战 let obj1 {name: "小红",age: 20,fn: function () {console.log(当前this的指向,this);console.log(我叫${this.name},今年${this.age}岁);},};obj1.fn(); 这里的代码,obj1是一个对象,里面有属性name和age 正常情况下我…

计数排序详解

前言&#xff1a;这篇文章会给大家把计数排序安排的明明白白&#xff0c;详细的讲解计数排序的原理 例子&#xff1a;现在我有一个数组不知道里面到底有多少个元素&#xff0c;但是我要把它进行排序&#xff0c;怎么排序呢&#xff1f; 我先随便拿一个数组&#xff08;你假装你…

Java JMM

JMM 全称: Java Memory Model (Java 内存模式)。 它是一种虚拟机规范, 用于屏蔽掉各种硬件和操作系统的内存访问差异, 以实现 Java 程序在各种平台下都能达到一致的并发效果。 主要规定了以下两点 一个线程如何以及何时可以看到其他线程修改过后的共享变量的值, 即线程之间共享…

I.MX6ULL_Linux_驱动篇(46)linux LCD驱动

LCD 是很常用的一个外设&#xff0c;在Linux 下LCD 的使用更加广泛&#xff0c;在搭配 QT 这样的 GUI 库下可以制作出非常精美的 UI 界面。本章我们就来学习一下如何在 Linux 下驱动 LCD 屏幕。 Linux 下 LCD 驱动简析 Framebuffer 设备 先来回顾一下裸机的时候 LCD 驱动是怎…

一次 k8s 升级,竟然导致滴滴故障 12 小时?

大家好&#xff0c;我是君哥。 前段时间滴滴的故障相信大家都知道了。中断业务 12 小时定级为 P0 级故障一点都不冤。 故障回顾 网上有传言是运维人员升级 k8s 时&#xff0c;本来计划是从 1.12 版本升级到 1.20&#xff0c;但是操作失误选错了版本&#xff0c;操作了集群降级…

2-5、包含多个段的程序

语雀原文链接 文章目录 1、概述2、代码段中使用数据示例1&#xff1a;不指定程序入口示例2&#xff1a;指定程序入口原理梳理 3、在代码段中使用栈例子1例子2 4、数据、代码、栈放入不同的段例子1&#xff1a;end start指定程序入口第一步&#xff1a;设置栈顶第二步&#xff…

Lambda表达式规则,用法

Lambda表达式是JDK8新增的一种语法格式 1.作用 简化匿名内部类的代码写法 Lambad用法前提&#xff1a;只能简化函数式接口&#xff08;一般加有Funcationallnterface&#xff09;&#xff08;有且仅有一个抽象方法&#xff09;的匿名内部类 匿名内部类&#xff1a;(本质是对…

Linux系统编程:进程间通信总结

管道 在Linux中&#xff0c;管道是一种进程间通信方式&#xff0c;它允许一个进程&#xff08;写入端&#xff09;将其输出直接连接到另一个进程&#xff08;读取端&#xff09;的输入。从本质上说&#xff0c;管道也是一种文件&#xff0c;但它又和一般的文件有所不同。 具体…

Dockerfile 指令的最佳实践

这些建议旨在帮助您创建一个高效且可维护的Dockerfile。 一、FROM 尽可能使用当前的官方镜像作为镜像的基础。Docker推荐Alpine镜像&#xff0c;因为它受到严格控制&#xff0c;体积小&#xff08;目前不到6 MB&#xff09;&#xff0c;同时仍然是一个完整的Linux发行版。 FR…

win11 powershell conda 激活环境后不显示环境名称

win11 powershell conda 激活环境后不显示环境名称 问题现象解决方法 问题现象 安装 Anaconda 后在 powershell 中激活环境后&#xff0c;命令行前面不显示环境名称 解决方法 在 powershell 中执行 conda init 重新打开 poweshell 出现以下问题&#xff0c;请参考 win11 p…