?博主介绍:程序员悟啦(乌拉~) ✍个人仓库:码云 ?座右铭:“懒”对一个人的毁灭性有多大,早起的重要性就多大。 ?免责声明:大文章由博主原创、部分文章整理于网络,仅供学习和知识分享 ?相遇是缘,既然来了就拎着小板凳?坐下来一起唠会儿??,如果在文中有所收获,请别忘了一键三连,动动你发财的小手?,你的鼓励,是我创作的动力?!
提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。
提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的 VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟 网络则不提供
安装了VMware虚拟机后,会在网络连接对话框中多出两个虚拟网卡。
那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机。所以两个网卡的IP地址也要设置为同一网段。如果使虚拟机使用桥接模式连接网络,在运行cmd命令后产看两个IP,可以发现IPv4的IP 和虚拟机处于一个网段。物理网卡和虚拟网卡的IP地址处于同一个网段,子网掩码、网关、DNS等参数都相同。两个网卡在拓扑结构中是相对独立的。
桥接网络模式是VMware虚拟机中最简单直接的模式。安装虚拟机时它为默认选项。在桥接模式下,虚拟机和宿主计算机处于同等地位,虚拟机就像是一台真实主机一样存在于局域网中。因此在桥接模式下,我们就要像对待其他真实计算机一样为其配置IP、网关、子网掩码等等。
当可以自由分配局域网IP时,使用桥接模式就可以虚拟出一台真实存在的主机。
虚拟出来的网段和NAT模式虚拟网卡的网段是一样的,都为192.168.111.X,包括NAT服务器的IP地址也是这个网段。在安装VMware之后同样会生成一个虚拟DHCP服务器,为NAT服务器分配IP地址。当主机和虚拟机进行通信的时候就会调用VMware Network Adepter VMnet8虚拟网卡,因为他们都在一个网段,所以通信就不成问题了。实际上,VMware Network Adepter VMnet8虚拟网卡的作用就是为主机和虚拟机的通信提供一个接口,即使主机的物理网卡被关闭,虚拟机仍然可以连接到Internet,但是主机和虚拟机之间就不能互访了。
在NAT模式下,宿主计算机相当于一台开启了DHCP功能的路由器,而虚拟机则是内网中的一台真实主机,通过路由器(宿主计算机)DHCP动态获得网络参数。因此在NAT模式下,虚拟机可以访问外部网络,反之则不行,因为虚拟机属于内网。使用NAT模式的方便之处在于,我们不需要做任何网络设置,只要宿主计算机可以连接到外部网络,虚拟机也可以。
NAT模式通常也是大学校园网Vmware最普遍采用的连接模式,因为一般只能拥有一个外部IP。很显然,在这种情况下,非常适合使用NAT模式。
同NAT一样,VMware Network Adepter VMnet1虚拟网卡的IP地址也是VMware系统指定的,同时生成的虚拟DHCP服务器和虚拟网卡的IP地址位于同一网段,但和物理网卡的IP地址不在同一网段。Host-Only的宗旨就是建立一个与外界隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没有多大意义,但大型服务商会常常利用这个功能。
如果想为VMnet1网段提供路由功能,那就需要使用RRAS,而不能使用XP或2000的ICS,因为ICS会把内网的IP地址改为 192.168.0.1,但虚拟机是不会给VMnet1虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。
在Host-only模式下,相当于虚拟机通过双绞线和宿主计算机直连,而宿主计算机不提供任何路由服务。因此在Host-only模式下,虚拟机可以和宿主计算机互相访问,但是虚拟机无法访问外部网络。当要组成一个与物理网络相隔离的虚拟网络时,无疑非常适合使用Host-only模式。
2、连接第三方工具
安装包上传至百度网盘Xshell7下载链接
提取码:Xs07
提取安装包文件后,自行安装即可
3、使用root管理员用户登录Xshell
==初次登录,提示SSH,选择接受即可==
4、修改主机名,之前配置时对主机名进行过修改,所以主机名为hadoop
# 查看主机名
hostname
# 修改主机名
vi /ect/hostname
5、更改/etc/sysconfig下的network文件,在提示符下输入 vi /etc/sysconfig/network,然后把HOSTNAME后面的值更改为想要设置的主机名。
vi /etc/sysconfig/network
6、 更改/etc下的hosts文件,在提示符下输入 vi /etc/hosts,然后添加主机名映射
# 添加主机名映射
vi /etc/hosts
7、为普通用户赋予root权限
# 赋予root权限
vi /etc/sudoers
==注意:使用 wq!强制退出保存==
8、 关闭selinux
SELinux一共有3种状态,分别是Enforcing,Permissive和Disabled状态。第一种是默认状态,表示强制启用,第二种是宽容的意思,即大部分规则都放行。第三种是禁用,即不设置任何规则。只能通过setenforce命令来设置前面两种状态,而如果想修改为disable状态,需要修改配置文件,同时重启系统。
Enforcing状态的值是1,表示目前为开启状态,关闭permissive状态是0,因此设置为permissive 0,命令就是:setenforce 0
# 查看selinux当前状态
getenforce
# 关闭selinux开启状态
setenforce 0
# 但是上面那中修改方式重启后就会失效,只是临时生效。
通过修改设置文件,让配置永久生效
# 将selinux永久关闭
vi /etc/selinux/config
将它后面的值修改为permissive或者disabled,这样即使重启电脑以后,它默认的状态都会是permissve或disabled状态,而不会恢复到enforcing状态,设置后需要对虚拟进行重启。
9、关闭防火墙(此教程以CentOS7准,CentOS6关闭方式稍微有些差别)
防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。
安装步骤
# 配置好网络的情况下可通过yum命令进行安装
yum install firewalld
# 如果需要图形界面的话,则再安装
yum install firewall-config
参数详解
Firewall 能将不同的网络连接归类到不同的信任级别,Zone 提供了以下几个级别:
drop: 丢弃所有进入的包,而不给出任何响应
block: 拒绝所有外部发起的连接,允许内部发起的连接
public: 允许指定的进入连接
external: 同上,对伪装的进入连接,一般用于路由转发
dmz: 允许受限制的进入连接
work: 允许受信任的计算机被限制的进入连接,类似 workgroup
home: 同上,类似 homegroup
internal: 同上,范围针对所有互联网用户
trusted: 信任所有连接
过滤规则:
source: 根据源地址过滤
interface: 根据网卡过滤
service: 根据服务名过滤
port: 根据端口过滤
icmp-block: icmp 报文过滤,按照 icmp 类型配置
masquerade: ip 地址伪装
forward-port: 端口转发
rule: 自定义规则
其中,过滤规则的优先级遵循如下顺序
1.source
2.interface
3.firewalld.conf
# 防火墙帮助命令
firewall-cmd --help
查看防火墙状态
# 查看防火墙状态
systemctl status firewalld
# 两种方式都可进行查看
systemctl status firewalld.service
10、临时关闭防火墙
# 关闭防火墙
systemctl stop firewalld
# 两种方式都可
systemctl stop firewalld.service
11、永久关闭防火墙
# 永久关闭防火墙
systemctl disable firewalld
# 两种方式都可
systemctl disable firewalld.service
防火墙的相关命令
# 查看防火墙状态,两种方式都可进行查看
systemctl status firewalld
systemctl status firewalld.service
# 关闭防火墙,两种方式都可
systemctl stop firewalld
systemctl stop firewalld.service
# 永久关闭防火墙,两种方式都可
systemctl disable firewalld
systemctl disable firewalld.service
# 设置开机自启
systemctl enable firewalld.service
# 重启防火墙
firewall-cmd--reload
========================================================================
# CentOS6防火墙相关命令
# 查看防火状态
service iptables status
# 暂时关闭防火墙
service iptables stop
# 永久关闭防火墙
chkconfig iptables off
# 重启防火墙
service iptables restart
# 查看已开放的端口(默认不开放任何端口)
firewall-cmd --list-ports
# 查看打开的端口
/etc/init.d/iptables status
# 开启端口(80为例)
# firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 删除端口号(80为例)
firewall-cmd --zone= public --remove-port=80/tcp --permanent
========================================================================
# 打开某端口(以8080为例)
# 开启端口
iptables-A INPUT-p tcp--dport8080-j ACCEPT
# 保存并重启防火墙
/etc/rc.d/init.d/iptables save/etc/init.d/iptables restart
# 打开49152~65534之间的端口
iptables-A INPUT-p tcp--dport49152:65534-j ACCEPT
#同样,对设置进行保存,并重启防火墙。
# 其他打开方式,通过修改/etc/sysconfig/iptables文件的方式开启端口,如下
vi/etc/sysconfig/iptables
# 然后在文件中增加一行
-A RH -Firewall-1 -INPUT -m state -state NEW -m tcp -p tcp -dport 80 -j ACCEPT
# 参数说明:
# –A 参数就看成是添加一条规则
# –p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
# –dport 就是目标端口,当数据从外部进入服务器为目标端口
# –sport 数据从服务器出去,则为数据源端口使用
# –j 就是指定是 ACCEPT -接收 或者 DROP 不接收
# 查看版本
firewall-cmd --version
# 查看帮助
firewall-cmd --help
# 查看区域信息
firewall-cmd --get-active-zones
# 查看指定接口所属区域信息
firewall-cmd --get-zone-of-interface=eth0
# 拒绝所有包
firewall-cmd --panic-on
# 取消拒绝状态
firewall-cmd --panic-off
# 查看是否拒绝
firewall-cmd --query-panic
# 将接口添加到区域(默认接口都在public)
firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)
# 设置默认接口区域
firewall-cmd --set-default-zone=public(立即生效,无需重启)
# 更新防火墙规则
firewall-cmd --reload或firewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态
添加规则,第二个需要断开连接,类似重启服务)
# 查看指定区域所有打开的端口
firewall-cmd --zone=public --list-ports
# 在指定区域打开端口(记得重启防火墙)
firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)
# 说明:
# –zone 作用域
# –add-port=8080/tcp 添加端口,格式为:端口/通讯协议
# –permanent #永久生效,没有此参数重启后失效
12、配置NAT网络连接,首先找到已开启的虚拟机,右键点击打开,选择设置
前文已对IP地址进行了配置和设置,本文不做过多的叙述
配置参数详解
# 物理设备名,eth0为第一块网卡;eth1为第二块网卡
DEVICE=eth0
# 网卡的MAC地址,48位
HWADDR=00:0C:29:84:0C:21
# 以太网
TYPE=Ethernet
# 唯一的一个用户标识,相当于身份证号码!如查看磁盘设备的UUID使用blkid命令
UUID=09ae6890-2925-4ca0-9cbc-e937593624f8
# 控制网卡是否开机启动
ONBOOT=yes
# 是否通过networkmanager管理网卡设备
NM_CONTROLLED=yes
# proto取下列值之一:
# none,引导时不使用协议;static,静态分配地址;bootp,使用BOOTP协议;dhcp,使用DHCP协议
BOOTPROTO=dhcp
#IP地址
IPADDR=192.168.17.128
# 子网掩码,划分网络位和主机位
NETMASK=255.255.255.0
#DNS是把baidu.com变成了baidu服务器IP。DNS就是域名和IP的解析工具
DNS2=192.168.224.2
DNS1=8.8.8.8
# 网关地址,路由器的地址
GATEWAY=192.168.224.2
# MAC地址
HWADDR=00:0C:29:84:0C:21
只需配置以下参数即可
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.124.11X
NETMASK=255.255.255.0
GATEWAY=192.168.224.X
DNS1=192.168.224.X
DNS2=8.8.8.8
HWADDR=00:0C:29:84:0C:2X
进入到网卡进行进行配置
# 配置ens33网卡
vi /etc/sysconfig/network-scripts/ifcfg-ens33
13、重启网络服务
systemctl restart network
14、意外的处理,帮小伙伴们躺坑以下,记录记录。
配置完,就觉得这回能够ping同啦,重启网卡后,ping一下~?
接下来检查了windows上VMnet8配置设置,检查完后问题不出在这。随后将虚拟机关闭,重新生成新的MAC地址,进行更改,发现IP地址不对劲。。查看虚拟网络设置后都是192......110?,随后进行更换
网上查了很多问题解决办法,但是没用,只好排查配置文件,单词是否拼写错误,好家伙!问题就在这?
修改配置文件后,重启网络 service network restart ,最后ping一下
好了,bug也解决啦,接下来说说网络配置时出现问题如何排查:
1.首先需要对windows上VMnet8属性配置进行检查
2.查看虚拟机网络设置,VMnet是否会自动连接,导致NAT设置是否无效,我的处理方式是直接删掉
3.关闭虚拟机,重启生成MAC地址,进行更换,同时也更换一下IP地址,最后重启网络OK
15、查看DNS是否配置好
# 查看是否配置好DNS
vi /etc/resolv.conf

16、配置YUM清华镜像
# 进入YUM配置文件目录
cd /etc/yum.repos.d
# 复制CentOS-Base.repo为CenOS-Base.repo.back(备份)
cp CentOS-Base.repo CentOS-Base.repo.back
# 编辑CentOS-Base.repo,添加下文配置文件
vi CentOS-Base.repo
#CentOS-Base.repo
#The mirror system uses the connecting IP address of the client and thed
#update status of each mirror to pick mirrors that are updated to and
#geographically close to the client. You should use this for CentOS updates
#unless you are manually picking other mirrors.
#If the mirrorlist= does not work for you, as a fall back you can try the
#remarked out baseurl= line instead.
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7
清除所以缓存
yum clean all
建立缓存
yum makecache
更新
yum update
17、因为使用的是CentOS精简版,所以需要安装下面软件
#安装命令
yum install -y epel-release
# 安装 net-tool,工具包集合,包含ifconfig等命令
yum install -y net-tools
# 安装vim,编辑器
yum install -y vim
# 时间同步
yum -y install ntpdate
ntpdate ntp4.aliyun.com
如在文中有所收获,请点赞?+关注,传统美德不能丢?
我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看rubyzip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模