Linux下的网络设定

时间:2023-03-09 15:32:13
Linux下的网络设定

一、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 ---查看接口信息

       Linux下的网络设定

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

      Linux下的网络设定

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

      Linux下的网络设定

注意:使用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中选中已有的设备

          Linux下的网络设定

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

          Linux下的网络设定

4)保存后,进行测试:

          Linux下的网络设定

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

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

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

systemctl  restart  network        重启网络

systemctl  start NetworkManager    打开记录状态服务

ifconfig      此时发现IP已经改变

  【2】文本图形界面设定

命令:nmtui

步骤:

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

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

           Linux下的网络设定

3)

          Linux下的网络设定

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

         Linux下的网络设定

5) 设定完成点击Quit。

        Linux下的网络设定

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

        Linux下的网络设定

  【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,断开连接(关闭网卡)

        Linux下的网络设定

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

       Linux下的网络设定

使用nmcli  decice  show 显示网卡信息

       Linux下的网络设定
       使用nmcli device status  查看设备工作状态 
       Linux下的网络设定

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

       Linux下的网络设定

       使用 nmcli  connection  down westos 关闭接口
       Linux下的网络设定
      使用 nmcli  connection  up westos 打开接口
      Linux下的网络设定

注意: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