Linux菜鸟成长日记 Day 11 (Linux IP服务。为主机设定IP地址,对虚拟机进行联网等)

原创 2018年04月17日 19:36:58

Linux IP服务。为主机设定IP地址,对虚拟机进行联网等


首先介绍一下IP地址的一些基本知识

我们最常用的IP协议为IPv4,IPv4中规定IP地址长度为32,即有2^32-1个地址。


一般的书写法为4个用小数点分开的十进制数。过去IANA(互联网数字分配机构)IP地址分为A,B,C,D 4类,把32位的地址分为两个部分:前面的部分代表网络地址,由IANA分配,后面部分代表局域网地址。也就是所谓的网络位和主机位。网络掩码(Netmask)限制了网络的范围

 1.常用网络协议IPv4协议

IP:32位 2进制
11111111.11111111.11111111.11111111 == 255.255.255.255
netmask:子网掩码  用来标识IP的网络位和主机位
网络位表示网络区域
主机位表示网络区域内的某台主机

netmask   非0位所对应的IP地址数值为这个IP的网络位
                主机位全1为广播地址,0代表此网络本身,均不可作为单独主机的IP使用
netmask   0位对应的IP地址数值为这个IP的主机位

网络位一致主机位不一致的两个IP是可以直接通信的(叫做直连网络)
网络位不一致,默认不可直接进行通信(可通过路由器进行通信)

2.IP的设定方法

 ip addr show 查看网卡

ifconfig 也可以进行查看

IP设定方法一:编辑配置文件/etc/sysconfig/network-scripts/ifcfg-链接接名

cd  /etc/sysconfig/network-scripts/

vim ifcfg-xxxx

编辑以下内容:

  DEVICE=网卡

  ONBOOT=yes

  BOOTPROTO=dhcp或none或static      

                            dhcp 表示动态获取IP地址

                            none/static 均表示静态IP地址

  IPADDR=ip                       自定义IP地址

  NETMASK=子网掩码 或 PREFIX=子网掩码缩写

  [NAME=链接名称]

例:(1)DHCP  动态获取

vim /etc/sysconfig/netwotk-scripts/ifcfg-link1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
NAME=link1

        (2)ststic   静态
vim /etc/sysconfig/network-scripts/ifcfg-link1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.151.150
NETMASK=255.255.255.0 或 PREFIX=24


在一个网卡添加多个IP


ststic
cd /etc/sysconfig/network-scripts
vim ifcfg-link1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR0=172.25.254.100
PREFIX0=24
IPADDR1=172.25.254.XXX
PREFIX1=24


TIP:如果忘记具体的参数,可在文件参数文档进行查看

/usr/share/doc/initscripts-*/sysconfig.txt



注:以下方法适用于企业七以后的系统

方法二:对IP进行临时修改


ifconfig eth0                           查看网络情况

ifconfig device IP netmask     子网掩码       临时修改IP 重启网络或者系统重启将会恢复
ping IP 看网络是否连通


重启网络后失效:


方法三:永久修改/设定网络(图形方式)

(1)nm-connection-editor     图形    的设定ip方法


(2)nmtui                    当系统没有图形时可诶用此命令开启网络设定的ui界面
 

在其中进行编辑:

以执行nm-connection-editor为例:


DHCP  向DHCP服务器获取动态IP,不固定       寻求别人赋予你,向别人索取

Manual 设定静态IP,操作者自行设定。                  不会改变

在此图形工具中选择DHCP为动态网络
在此图形工具中选择MANUAL为固定网络
注:若是edit编辑网络,在编辑后需要重启网络才会生效,若是add添加网络,则不需要重启。


方法四:   nmcli

先介绍一个网络管理的工具:NetworkManager

Red Hat Enterprise Linux 7 与 CentOS 7 中默认的网络服务由 NetworkManager 提供,这是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态,同时也支持传统的"ifcfg"类型的配置文件。NetworkManager 可以用于以下类型的连接:Ethernet,VLANS,Bridges,Bonds,Teams,Wi-Fi,mobile boradband(如移动3G)以及 IP-over-InfiniBand。针对与这些网络类型,NetworkManager 可以配置他们的网络别名,IP 地址,静态路由,DNS,VPN连接以及很多其它的特殊参数。

而可以用命令行工具 nmcli 来控制 NetworkManager

 nmcli:     地址配置工具

                 nmcli的功能相比ifconfig要强大、复杂的多。

                这次仅仅用他来进行IP地址的配置,其他详细功能可通过 man nmcli 来进行学习。

介绍nmcli一些基本操作:
nmcli device                             查看网络设备
nmcli device status eth0          查看eth0的状态
nmcli device show eth0           显示eth0具体信息
nmcli device disconnect eth0   关闭eth0
nmcli device connect eth          打开eth0

nmcli connection                                查看网络连接
nmcli +connection down +链接名       关闭链接
nmcli +connection up     +链接名        开启链接
nmcli +connection show +链接名       显示详细信息

nmcli connection delete  +链接名          删除链接

可通过以下方式来添加IP地址

nmcli connection add type  ethernet con-name 链接名称 ifname 设备名称 autoconnect yes
nmcli connection add type  ethernet con-name 链接名称 ifname 设备名称 ip4 172.25.254.139/24
nmcli connection add + TAB 查看可补全的信息


修改IP:

(1)修改IP地址:
DHCP---->static             动态到静态

nmcli connection modify 链接名 ipv4.method manual    修改类型到静态
nmcli connection modify 链接名 ipv4.addresses IP            添加IP

systemctl restart network

示例如下:


(2)在静态下修改IP:
nmcli connection modify 链接名 ipv4.addresses IP
systemctl restart network

static---->DHCP              静态到动态
nmcli connection modify 链接名 ipv4.method auto      #修改类型

systemctl restart network

从静态到动态:


3.对虚拟机进行外网连接。


首先介绍两个概念:网关和DNS(域名系统)

 网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连
 注:由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用都是路由来接入网络,因此通常指的网关就是路由器的IP!

   DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。

通俗的的来说就是,我们的主机想要和外网通信就需要借助于网关,我们想要浏览万维网上的信息必须得通过对应主机的IP地址来访问,也就是每浏览一个网页就得知道其对应的IP地址,而DNS可以让我们无需进行如此繁琐的操作。

  废话说完,下来就说点干货

  想要对虚拟机进行外网连接其思想是将真机作为一个跳板,类似于路由器,通过真机来实现虚拟机对外网的连接

 

具体操作如下:

(1)在linux真机中切换到超级用户

         编辑与外网通信的网卡,关掉网关。具体操作与上文中以文本方式添加IP类似

         编辑/etc/sysconfig/network-scripts/ifcfg-br0(此处为自己主机网卡对应的链接名)


        去掉网关,重启网络
2.连接到wifi或是保证真机可以连接到互联网

打开防火墙

打开masquerade  伪装服务

firewall-cmd --add-masquerade


设定虚拟机网关为真机IP地址

(1)设定全局网络: /etc/sysconfig/network
               GATEWAY=网关IP
(2)设定特定链接的网关:/etc/sysconfig/network-scripts/ifcfg-xxx

               GATEWAY=网关IP(注意配合ip与掩码的格式)

(3)ping 网关,即真机IP看是否连通


(4)设定DNS解析
  I.  /etc/hosts            本地解析文件 :可在其中输入固定IP对应的网址用来连接。(输入什么能连上什么,局限性打,建议第二种)
  II. /etc/resolv.conf       "寻求帮助"       可植入:114.114.114.114:公共解析域名

                                                               或是设为真机的网关

编辑vim/etc/resolv.conf


ping www.baidu.com

可连通。这样就成功将虚拟机与外网连接了。


若是连接不上,可按照以下思路排错,
(1)在真机ping www.baidu.com,看是否可以ping通。
(2)检查防火墙情况:firewalld-cmd --list-all   --> masquerade: yes
(3)在虚拟机中看网关和真机ip是否相同,再看DNS解析

(4)ping 网关,不通的话看是否虚拟机网卡出现问题

(5)在真机中执行:virt-manager

选择你的虚拟机

删除NIC:00:97:0a

ADD Hardware  之后添加virtio后再ping网关

(6)若不通,在真机中真机中:

 执行:sysctl -a | grep ip_forward

           看是否为net.ip_forward = 1,若为0

            编辑配置文件:vim /etc/sysctl.conf
                                     添加net.ip_forward = 1

                                     sysctl -p。

后再尝试ping。

如下,将ip_forward = 1 执行

 

以上对虚拟机进行联网的操作,也可用于借助同一局域网内的一台连网主机,使其他主机进行联网。


网络工程师IP地址计算强化训练视频教程

网络工程师考试考察知识点繁多,形式多样。如何有效把握每种考察形式,拿到相应分数?这是历年考生最挠头的事情。本系列课程紧抓考生痛点,对网工考试中重点题型分门别类讲解,反复强化训练,助力考生查缺补漏,拿到相应分数。本次分课程重点讲解了IP地址计算方法。通过基本概念阐述->历年真题强化训练->独家解题技巧总结,三大步骤帮助考生掌握IP地址计算方法,拿到相应分数。
  • 2016年08月05日 09:09

关于使用VMware搭建Linux虚拟机配置IP你应知道的一切

前言最近需要测试一个数据抽取调度的环境,没办法自己搭建一个虚拟机,在设置IP这块碰到了不少问题,这里总结整理一下!关于VMware的使用,和虚拟机的搭建这里就不多介绍了,基本上参照网上的一些教程什么的...
  • aiynmimi
  • aiynmimi
  • 2017-07-19 19:26:14
  • 1424

解决主机不能访问VirtualBox上Linux虚拟机ip的问题

(不知道有没有初学者遇到跟我一样的问题 但是我还是记下来 因为自己在网上没有找到解决办法 )问题:在用VirtualBox装上Linux虚拟机后 在虚拟机上ifconfig出来下图可以看到现在的ip是...
  • qq_37759106
  • qq_37759106
  • 2018-02-11 15:40:39
  • 157

Linux新建虚拟机设置IP,配置主机映射,连接CRT

1,设置IP地址,远程连接CRT: 打开Edit Connections 窗口,选择当前网卡System etho,进行编辑:  其他的不动,选择IPv4  Settings,将Met...
  • qqliang1314
  • qqliang1314
  • 2015-12-13 16:52:20
  • 1459

设置虚拟机linux和主机IP在同一网段

首先ifconfig 看下自己的网卡   编辑配置文件 vim ifcg-ens33 添加 BOOTPROTO,为dhcp是自动获得ip,为static时是手动配置IP 然后再添加IPAD...
  • lcalqf
  • lcalqf
  • 2017-02-11 01:24:30
  • 3200

VMware下配置Linux IP,解决Linux 和主机互ping问题

如果安装Linux时选择DHCP自动分配IP,需要启动服务:VMware DHCP service,手动配置IP则不需启动此服务,因为在局域网中我只有一个能访问公网的IP,所以我选择NAT方式,其用的...
  • min2015
  • min2015
  • 2016-03-03 17:01:58
  • 606

虚拟机下的Linux自动获取IP地址

主机上IP获取方式是DHCP自动获取的
  • wudiyi815
  • wudiyi815
  • 2014-07-31 10:42:04
  • 8913

VM上配置linux服务器解决mac地址冲突,无法联网问题

一、第一步,修改VM的网络编辑器,将VMnet8设置为NAT模式,子网IP和电脑上的VM8在同一个网段 二、将Linux的虚拟机设置改为NAT模式。 三、配置linux上的ip...
  • qq_17864929
  • qq_17864929
  • 2016-01-02 22:32:13
  • 1128

VMware下linux Ubuntu使用NAT共享主机IP

VMware虚拟机安装后,在“网上邻居”-“查看网络链接”里会添加两个默认的虚拟网卡,分别是VMnet8(192.168.65.1)和VMnet1(192.168.19.1),当然不同的机器上,这两个...
  • u010817474
  • u010817474
  • 2017-02-07 16:50:42
  • 1146

宿主机(window)与客户机(安装在虚拟机中的Linux)网络连接

常见的三种方式:host-only,桥接,NAT 以VMware为例。使用VMware会产生两个虚拟网卡VMware Virtual Ethernet Adapter for VMnet1 和 ...
  • scgaliguodong123_
  • scgaliguodong123_
  • 2015-01-11 18:01:46
  • 1685
收藏助手
不良信息举报
您举报文章:Linux菜鸟成长日记 Day 11 (Linux IP服务。为主机设定IP地址,对虚拟机进行联网等)
举报原因:
原因补充:

(最多只允许输入30个字)