什么是IP地址
- IP地址:网络中唯一标识一台主机
- IP地址由32个二进制数组成,二进制的世界里只有0和1,二进制逢2进1
- 每8位加一个. 因此又叫做点分十进制
- 11111111.11111111.11111111.11111111
- 255.255.255.255
IP地址分类
- A类:1-126(127)
- B类:128-191
- C类:192-223
- D类:224-239
- E类:240-255
- 工作中常用的地址是A、B、C三类、D和E类分别用于组播和科研
IP的网络位和主机位
- 网络位:相当于标识区域
- 主机位:相当于标识顺序
- 举例
- 010-6752610
- 010-6752611
- 0313-6743121
- 0313-6743122
IP地址默认网络位与主机位
A类:网络位.主机位.主机位.主机位 例:10.0.0.1
B类:网络位.网络位.主机位.主机位 例:172.25.0.1
C类:网络位.网络位.网络位.主机位 例:192.168.1.1
某个类别中的第一个IP地址和最后一个IP地址均不能直接使用
- 第一个地址表示 网段
- 最后一个地址表示 广播地址
- 192.168.4.0 表示192.168.4.0网段(本网段第一个IP)
- 192.168.4.255 表示广播地址
- 192.168.4.1 表示192.168.4.0网段中的第一个可用IP
子网掩码
- 子网掩码:计算机用来标识网络位和主机位
- 网络位使用二进制的1 表示
- 主机位使用二进制的0表示
- 每8位转换成一个十进制
192.168.4.1-->C类-->192.168.4-->11111111.11111111.11111111.00000000
255.255.255.0
172.25.0.1-->B类-->172.40-->11111111.11111111.00000000.00000000
255.255.0.0
10.0.0.1-->A类-->10-->11111111.00000000.00000000.00000000
255.0.0.0
默认子网掩码
A类: 255.0.0.0 也可以使用8表示(8表示二进制有8个1)
B类: 255.255.0.0 也可以使用16表示(16表示二进制有16个1)
C类: 255.255.255.0 也可以使用24表示(24表示二进制有24个1)
Linux配置IP地址
LINUX系统配置IP地址方法
- /etc/sysconfig/network-scripts/ifcfg-网卡名
- nmtui、ip、nmcli
nmcli命令
-
nmcli connection show #查看连接信息
-
手动配置IP
-
nmcli connection modify 网卡名 ipv4.method manual \
ipv4.address <IP/子网掩码> ipv4.gateway <网关> ipv4.dns <dns服务器>
connection.autoconnect yes -
nmcli connection up 网卡名 #激活网卡
-
-
自动配置IP(DHCP分配)
- nmcli connection modify 网卡名 ipv4.method auto connection.autoconnect yes
- nmcli connection up 网卡名 #激活网卡
[root@localhost ~]# nmcli connection show #查看连接名
配置IP(网卡连接名请以自己的为准,不要照抄)
#配置IP地址和网关并实现开机自动连接
[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.7/24 connection.autoconnect yes
[root@localhost ~]# nmcli connection up ens33 #激活ens33
[root@localhost ~]# ifconfig #查看配置的IP
设置VMnet8网络模式
为虚拟机自动配置IP地址
#配置IP地址
]# nmcli connection modify ens33 ipv4.method auto connection.autoconnect yes
[root@localhost ~]# nmcli connection up ens33
[root@localhost ~]# ping www.baidu.com
SSH远程管理
- SSH协议,Secure Shell
- 为客户及提供安全的Shell环境
- 默认端口:TCP 22
- OpenSSH服务
- 服务名:sshd
- 主程序: /usr/bin/sshd、/usr/bin/ssh
- 服务端配置文件: /etc/ssh/sshd_config
- 客户端配置文件: /etc/ssh/ssh_config
- ssh 命令选项
- -p 端口:连接到指定的端口
实验拓扑图
- 将虚拟机RockyLinux8.6使用快照"安装完成"还原,再使用RockyLinux8.6克隆虚拟机A、虚拟机B
- 虚拟机A远程操作虚拟机B
虚拟机 | 主机名 | IP地址 |
---|---|---|
虚拟机A | javasv-A | 192.168.8.100 |
虚拟机B | javasv-B | 192.168.8.101 |
配置虚拟机A
- 根据上方虚拟机需求配置IP地址和主机名(网卡名不要照抄,以自己的为准)
[root@localhost ~]# hostnamectl set-hostname javasv-A #修改主机名
[root@localhost ~]# exit #退出重新打开主机名即可生效
[root@javasv-A ~]# nmcli connection show #查看自己的网卡连接名
[root@javasv-A ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.8.100/24 connection.autoconnect yes #配置IP地址
[root@javasv-A ~]# nmcli connection up ens160 #激活网卡
配置虚拟机B
- 根据上方虚拟机需求配置IP地址和主机名(网卡名不要照抄,以自己的为准)
[root@localhost ~]# hostnamectl set-hostname javasv-B #修改主机名
[root@localhost ~]# exit #退出重新打开主机名即可生效
[root@javasv-B ~]# nmcli connection show #查看自己的网卡连接名
[root@javasv-B ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.8.101/24 connection.autoconnect yes #配置IP地址
[root@javasv-B ~]# nmcli connection up ens160 #激活网卡
环境准备
- 关闭防火墙和SELinux,虚拟机A、虚拟机B都做
虚拟机A
[root@javasv-A ~]# systemctl stop firewalld #停止防火墙服务
[root@javasv-A ~]# systemctl disable firewalld #将防火墙设置为开机不自启
[root@javasv-A ~]# vim /etc/selinux/config #修改SElinux状态
...此处省略1万字...
7 SELINUX=disabled #将第7行enforcing改为disabled
...此处省略1万字...
[root@javasv-A ~]# reboot #重启生效
虚拟机B
[root@javasv-B ~]# systemctl stop firewalld #停止防火墙服务
[root@javasv-B ~]# systemctl disable firewalld #将防火墙设置为开机不自启
[root@javasv-B ~]# vim /etc/selinux/config #修改SElinux状态
...此处省略1万字...
7 SELINUX=disabled #将第7行enforcing改为disabled
...此处省略1万字...
[root@javasv-B ~]# reboot #重启生效
远程实验
- 远程连接格式:ssh [选项] 用户@主机
[root@javasv-A ~]# ssh root@192.168.8.101 #虚拟机A远程虚拟机B
...
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes #首次回答yes
root@192.168.8.101's password: #输入密码(为了安全不显示)
[root@javasv-B ~]# #此时已经远程连接虚拟机B
[root@javasv-B ~]# exit #退出远程连接
修改默认端口,pc207主机操作
[root@javasv-B ~]# vim /etc/ssh/sshd_config #修改配置文件
...此处省略1万字...
17 Port 8022 #第17行去掉注释,端口号改为8022
...此处省略1万字...
[root@javasv-B ~]# systemctl restart sshd #重启服务
虚拟机A再次远程虚拟机B
- -p选项用于指定端口号
[root@javasv-A ~]# ssh -p 8022 root@192.168.8.101 #虚拟机A远程虚拟机B
root@192.168.8.101's password: #输入密码(为了安全不显示)
[root@javasv-B ~]#
注:如果远程失败,请关闭防火墙和SElinux,当然上方环境准备中已关闭了防火墙和SElinux
scp指令
- scp基于ssh远程管理,安全复制工具scp
- 上传(源服务器角度):scp /路径/源数据 用户@对方IP地址:/路径/
- 下载(目标服务器角度):scp 用户@对方IP地址:/路径/源数据 /路径/
把虚拟机A的/boot远程拷贝至虚拟机B的/opt
[root@javasv-A ~]# scp -r /boot/ root@192.168.8.101:/opt/
把虚拟机B的/boot远程拷贝至虚拟机A的/opt
[root@javasv-A ~]# scp -r root@192.168.8.101:/boot /opt/
[root@javasv-A ~]# ls /opt/
远程管理进阶
- 实现ssh无密码验证
- 生成公钥与私钥,完成ssh无密码验证
生成公钥与私钥,虚拟机A操作
[root@javasv-A ~]# ssh-keygen #一路回车
[root@javasv-A ~]# ls /root/.ssh/ #查看密钥
将公钥传递给对方,虚拟机A操作
[root@javasv-A ~]# ssh-copy-id root@192.168.8.101
root@192.168.8.101's password: #输入密码
[root@javasv-A ~]# ssh root@192.168.8.101 #验证
[root@javasv-B ~]# #此时已经无密码连接至虚拟机B
WindTerm远程工具
- windterm压缩包解压,发送快捷方式至桌面即可
补充
虚拟网络类型
隔离模式
- Guest可访问同一虚拟交换机上的其他Guest,但无法访问Host所在外部网络
VMware-NAT模式
- VMware的NAT(Network Address Translation)模式是一种网络连接模式,它允许虚拟机通过主机的网络连接与外部网络通信。
- 在NAT模式下,VMware会为主机创建一个虚拟网络适配器,并为其分配一个私有IP地址。主机通过这个私有IP地址与虚拟机进行通信。当虚拟机需要访问外部网络时,VMware会将其请求转发给主机,再由主机通过NAT技术将请求发送到外部网络,然后将响应传递回虚拟机。