一、IP相关介绍

1.IP是internet protocal的简称,也叫网络进程。

2.ipv4全称internet protocal version 4。它是由32个二进制组成;改为十进制的话,一般格式为255.255.255.255。

在32位IP地址中,又分为网络位和主机位。

3.子网掩码:用来划分网络区域;非0位是网络位,0位位主机位;网络位表示网络区域,主机位表示一个网络区域内的某太主机。

例如:255.255.255.0    表示前24位是网络位,后八位是主机位。 (一般ip/24中24,也表示子网掩码)

4.ip通信要求

网络号相同主机号不同的两个可以直接通讯。

172.25.254.1/24   表示在网段172.25.254内的第一台主机

例如:172.25.254.100/24   172.25.0.21/16 可以通信

5.网络设定工具(临时)

ping  id     检测网络是否通畅

ifconfig     查看网络接口

ifconfig  device ip/24  设定网络接口

ifconfig  device  down  关闭接口

ifconfig  device up     开启

ip  addr     也可用查看、添加接口等操作

ip  addr  show    检测

ip addr add ip/24 dev eth0   设定

注意:device的名字是一个物理事实,电脑上已有的设备,可以查询到的

示例:使用--- ip addr show ---查看接口信息

      

命令:ip  addr  flush  dev  eth0  对设备eth0进行刷新(刷新后之前的ip地址就没了)

     

使用命令:ip addr add 172.25.254.177/24 dev eth0 添加一个ip地址。 (临时) 

     

注意:使用ip addr add的时候,前提条件是该设备没有ip。  

二、永久设定网络IP

  【1】图形化方式

命令:nm-connection-editor  (无配置文件时生成,有的时候进行更改配置文件)

步骤:(条件是IP不存在的时候,添加IP用如下步骤)

           1)输入命令:nm-connection-editor

2)点击add,出现新界面后直接点creat

3)点击creat出现如下界面,Connection name 中的名称可以随便添; Device MAC address中选中已有的设备

         

在ipv4进行如下修改: 点击ADD,输入自己的IP和子网掩码;其中Getway不添,但必须选中才可以SAVE。

         

4)保存后,进行测试:

         

补充:NetworkManager是用来记录网络状态的服务,比如,你添加密码后,会进行记录。

注意:若IP已存在时,此时进行IP的更改之后,要使用如下命令使其生效:

systemctl  stop  NetworkManager    关闭记录状态的服务

systemctl  restart  network        重启网络

systemctl  start NetworkManager    打开记录状态服务

ifconfig      此时发现IP已经改变

  【2】文本图形界面设定

命令:nmtui

步骤:

1) 在文本界面命令行输入:nmtui

2) 在以下界面选中Edit a connection   (在选择的时候用TAB键,确定用ENTER)

          

3)

         

4)Profile name是随便取的,Device是自己的物理设备名称不可自己取。

        

5) 设定完成点击Quit。

       

6)使用ifconfig查看结果如下,此时设定已经完成。

       

  【3】命令方式

命令:nmcli      使用之前必须开启NetworkManager

nmcli connection modify westos ipv4.method auto    更改网卡的工作方式

nmcli connection add type ethernet con-name westos ifname eth0 ip4 172.25.254.177/24  可以进行一个ip的设定

nmcli connection modify westos ipv4.address ip/24  对ip地址进行修改(重启后生效)

        nmcli connection delete   westos   使用命令删除的是(网络配置目录)里面的内容

使用命令nmcli device disconnection eth0,断开连接(关闭网卡)

       

使用命令nmcli device connection eth0进行激活 (启动网卡)

      

使用nmcli  decice  show 显示网卡信息

      
       使用nmcli device status  查看设备工作状态 
      

使用 nmcli  connection  show 显示的是接口名称

      

       使用 nmcli  connection  down westos 关闭接口
      
      使用 nmcli  connection  up westos 打开接口
     

注意:connection 后接的是接口名称;device后接的是设备名称

  【4】修改配置文件方法(不要在真实主机做)

    网络配置目录:/etc/sysconfig/network-scripts

    网络配置文件的规则:ifcfg-xxxx(xxxx自己随便取,会在配置目录下显示出来)

              DEVICE=xxx  网卡设备名称

              BOOTPROTO=dhcp|static|none  网卡设备的工作状态(dhcp动态ip不用自己设定别人给你;static和none要手动设定)

              ONBOOT=yes    在网络服务启动的时自动激活配置的网卡

              IPADDR=ip地址

              PREFIX=24  子网掩码

              NETMASK=255.255.255.0  子网掩码(二者选一即可)

              NAME=XXX    接口名称,可写可不写(ifconfig会显示)

     配置完成之后,要重启network服务

     实例:静态网络设定文件

      vim   /etc/sysconfig/network-scripts/ifcfg-eth0

      DEVICE=eth0

      ONBOOT=yes

      IPADDR=172.25.254.177

      PREFIX=24

      NAME=eth0

      systemctl restart network

    一块网卡上配置多个IP(ip  addr show  eth0)

      改配置文件:(使用eth0默认显示为第0个;若想看一个网卡的多个IP,则使用ip  addr show  eth0查看)

       vim   /etc/sysconfig/network-scripts/ifcfg-eth0

      DEVICE=eth0

      ONBOOT=yes

      IPADDR0=172.25.254.177

      PREFIX0=24

      NAME=eth0

       IPADDR1=172.25.0.100

      PREFIX1=24

      systemctl restart network

注意:回环接口lo(不要更改)

   不用设定,传输速率快;网卡受物理限制。相当于人神经。---- 172.0.0.1 -----localhost

接口若是四个0,代表所有人都可以连接

 三、设定网关

1.设定真实主机变成一个路由器 (打开masquerade)

使用firewall-cmd --list-all无效的时候:

  systemctl stop libvirtd

systemctl restart firewalld

systemctl start libvirtd  ## 要是不打开,虚拟机用不了

[root@foundation77 ~]# firewall-cmd --list-all
public (default, active)
  interfaces: br0 enp2s0f2 wlp3s0
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no     
  forward-ports:
  icmp-blocks:
  rich rules:
    
[root@foundation77 ~]# firewall-cmd --reload
success
[root@foundation77 ~]# firewall-cmd --list-all
public (default, active)
  interfaces: br0 enp2s0f2 wlp3s0
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: yes      ## 地址伪装功能开启,真实主机变成路由器

forward-ports:
  icmp-blocks:
  rich rules:

2.虚拟机网关设定

步骤:

1)选择网关的类型

vim /etc/sysconfig/network    ## 全局网关,针对没有设定网关的网卡生效(对于所有的网卡都生效)

    vim /etc/sysconfig/network-scripts/ifcfg-eth0   ##网卡中设定网关,对所有网卡均生效
 2)添加网关IP

GATEWAY0=172.25.254.77   代表有多个ip,只对指定的IP生效(此时的IP为真实主机的IP地址)

GATEWAY=172.25.254.77    网卡中设定的IP只有一个时

3) 完成后要重启服务 :systemctl restart network

4)测试:要在虚拟机下执行:route -n  出现网关,则设置成功

四.虚拟机网卡出问题:

步骤:(超级用户下)删除重新加载新的网卡

1)在主机下执行:virt-manager   打开了控制器的虚拟器(主机的)

2)点击自己的出错虚拟机,例如desktop--->点击左上角灯泡(show virtu al hart details)------>选中NIC:00:4d:0a,右击选择Remove hardware

3)右键选择Add  hardware  ------> Network ------> Device model : virtio ---->finish

五.DNS的定义及设定

【1】 DNS:domain name server 域名解析服务,把域名变成IP 。用来提供给客户地址解析

虚拟机不能使用域名进行访问 ,通过给虚拟机自己编辑说明若

【2】设定方法1: 本地解析服务,只能访问该地址的内容

步骤:vim /etc/hosts    本地解析服务  ------> 183.232.231.173   www.baidu.com

设定方法2: DNS的指向(临时的,网卡重新启动,内容会被刷新)

步骤:vim /etc/resolv.conf  ## 提供解析的ip ----->nameserver 114.114.114.144

方法3:了解即可

      vim  /etc/sysconfig/networt-scripts/ifcfg-xxxx (永久的)
      DNS1=114.114.114.114

注意:1)当网络工作模式时DHCP时,系统会自动获取IP,网关、DNS ;那么 /etc/resolv.conf会被会得到的信息修改;若不要获取DNS信息,则在网卡配置文件中/etc/sysconfig/network-scripts/ifcfg-eth0中加入PEERDNS=no

     2)网卡配置文件的参数,目录为:cd /usr/share/doc/initscripts-9.49.17

查看: less sysconfig.txt  找/DNS

3)陕西省的DNS:电信:218.30.19.50

【3】设定DNS优先级

默认情况下级别: /etc/hosts  >  /etc/resolv.conf

步骤:vim /etc/nsswitch.conf  ------>  39行  hosts: dns  files  ## 表示先resolv后hosts进行解析

修改完成即可。

补充:

关掉主机的网关步骤: vim /etc/sysconfig/network-scripts/ifcfg-br0 ---> 把GATEWAY所在行注释掉即可

查看网关:route -n

    

              

Linux下的网络设定的更多相关文章

  1. Linux下TCP网络编程与基于Windows下C#socket编程间通信

    一.linux下TCP网络编程基础,需要了解相关函数 Socket():用于套接字初始化. Bind():将 socket 与本机上的一个端口绑定,就可以在该端口监听服务请求. Listen():使s ...

  2. Linux下的网络远程安装

    Linux下的网络远程安装 1.用RHEL6.5光盘安装第一台服务器 2.在第一台服务器上配置YUM服务器 先创建一个挂载 #mount #umount /dev/cdrom #mkdir /mnt/ ...

  3. 八、Linux下的网络服务器模型

    服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器,按处理方式来分有循环服务器和并发服务器. 在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提 ...

  4. linux下Python网络编程框架-Twisted安装

    Twisted是python下的用来进行网络服务和应用程序编程的框架,安装Twisted前需要系统预先安装有python. 一.安装Twisted http://twistedmatrix.com/R ...

  5. netstat 在windows下和Linux下查看网络连接和端口占用

    假设忽然起个服务,告诉我8080端口被占用了,OK,我要去看一下是什么服务正在占用着,能不能杀 先假设我是在Windows下: 第一列: Proto 协议 第二列: 本地地址[ip+端口] 第三列:远 ...

  6. linux下常用网络操作汇总

    首先说明下RHEL6下设置IP地址的确和RHEL5下有几点是不同的. 我装完RHEL6中默认选择的是DHCP自动获取方式: [root@localhost ~]# vi /etc/sysconfig/ ...

  7. linux下常用网络操作汇总 专题

    centos 更改主机名,需要更改的几个地方: (1) /etc/sysconfig/network  //更改主机名(2)/etc/hostname  //更改主机名(3) /etc/hosts   ...

  8. netty学习(一)--linux下的网络io模型简单介绍

    linux的内核将全部的外部设备都看作一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令 ,返回一个file descriptor(fd.文件描写叙述符).而对一个socket的读写也会有对 ...

  9. QT在linux下获取网络类型

    开发中遇到这样一个需求,需要判断当前网络的类型(wifi或者4G或者网线),在这里给大家一块分享下: 1.这里有一个linux指令:nmcli(大家自行百度即可) 2.nmcli device sta ...

随机推荐

  1. CentOS的Qt3和Qt4问题

    在有的系统中,装有Qt3和Qt4, 在使用qmake生成Makefile后,直接make, 出错,说没有头文件, 如果调用了qt3的qmake,那么上头的INCPATH里的头文件路径也指向了Qt3, ...

  2. SQLite-C#-帮助类

    public static class SQLiteHelper { private static string connectionString = string.Empty; #region vo ...

  3. Pandas 数据分析基础

    Pandas 安装 anaconda 安装: conda list pandas 查看是否已经安装 conda install pandas conda update pandas pip 安装 pi ...

  4. Learning Perl 第九章习题第二题

    把输入文件中的所有Fred换成Larry, 不区分大小写. 知识点 1. 文本文件读写 2. 简单的正则替换 3. unless 的用法 4. $_ 的用法

  5. python2.7.10 VS2015编译方法

    打开 Python-2.7.10\PCbuild目录 然后设置只编译python和pythoncore: 好了,编译试一试. 出现了好几个错误.由于 VS2015 取消了 timezone 的定义,改 ...

  6. JS的scrollIntoView

    scrollIntoView(alignWithTop)  滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素.如果alignWithTop为true,或者省略它,窗口会尽可能滚动到自身顶 ...

  7. MVVM架构简单使用

    版权声明:本文为博主原创文章,未经博主授权不得转载. 项目github地址 https://github.com/zhangjiahuan8888/mvvmDemo/tree/master 开篇 MV ...

  8. 《Think in Java》(十四)类型信息

    简介 RTTI,RunTime Type Information,运行时类型信息.Java 在运行时识别对象和类的信息主要有两种方式:一种是"传统的"RTTI,它假定我们在编译时已 ...

  9. python中enumerate()函数用法

    python中enumerate()函数用法 先出一个题目:1.有一 list= [1, 2, 3, 4, 5, 6]  请打印输出:0, 1 1, 2 2, 3 3, 4 4, 5 5, 6 打印输 ...

  10. 引发事件代码封装成OnEventName

    引发事件的代码,通常可以封装成“On+事件名称”的方法(On:表示当“什么什么”的时候),如下所示: 1:引发事件代码: if (PropertyChanged != null)//为了实现将数据源的 ...