Linux的网络配置

时间:2024-03-16 18:28:50

一、网络名词

1. IP 地址

Internet  Protocol  Address  网络进程地址
ipv4 internet protocol version 4 互联网协议的第四版。目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。
ip是由32个0/1组成
11111110.11111110.11111110.11111110 = 254.254.254.254
2.子网掩码

用来划分网络区域        eg:255.255.255.0(c类)   255.255.0.0(b类)
子网掩码非0的位对应的ip上的数字表示这个ip的网络位
子网掩码0位对应的数字是ip的主机位
网络位表示网络区域
主机位表示网络区域里的某台主机
3.ip通信判定

网络位置一致,主机位不一致的2个ip可以直接通讯
172.25.254.1/24     172.25.254.2/24
注意:1代表第一台主机;24代表前面的24位都为1,即255.255.255.0
172.25.0.1/16
注意:172.25.0.1/16可以和上面2个通信,存在包含关系,上面2个不能与它通信
网络区域越大,主机越多,网络稳定性越差

4.路由器

 NET   网络地址转换 :把数据包进行重包装    内核路由        路由表

dnat    目的地地址转换
snat    源地址转换

5.网关:设置网关,连接路由(路由器上和自己处在同一个网段的那个ip)

接收请求,作为NET的接口

谁是网关,就把数据包给谁

6.DNS:域名解析(把域名转化为IP)

   dns是一台服务器,这台服务器提供了回答客户主机名和ip对应关系的功能

7.lo 回环接口:主机内部服务之间沟通的网络接口

二、网络设定工具

ping ##检测网络是否通畅

Linux的网络配置

ifconfig ##查看或设定网络接口

ifconfig eth0 ##查看eth0设备

ifconfig device ip/24 ##设定设备IP地址及子网掩码

Linux的网络配置

ifconfig device down ##关闭设备

ifconfig device up ##开启设备

Linux的网络配置

ip addr ##检测或设定网络接口

ip addr show eth0 ##检测设备eth0的网络接口

ip  addr  flush  device         ###取消原ip设定

ip addr add ip/24 dev device ##设定设备IP地址及子网掩码

Linux的网络配置

三、设置ip  (查看:ifconfig    |      ip  addr  show)

1.图形方法

方法一:nm-connection-editor 

Linux的网络配置

方法二:nmtui        ### 当系统没有图形时可以用此命令开启网络设定的ui界面

Linux的网络配置   Linux的网络配置  Linux的网络配置

Linux的网络配置

Linux的网络配置

2.命令方式设定网络

nmcli                              NetworkManager服务必须开启
nmcli  device  connect  eth0             ##启用eth0网卡

Linux的网络配置

nmcli device disconnect eth0 ##关闭eth0网卡

Linux的网络配置
nmcli connection  delete eth0             ##删除网络

nmcli device status eth0        ##显示eth0状态

Linux的网络配置
nmcli device show  eth0        ##显示eth0详细信息

添加动/静态网络:

nmcli connection add type ethernrt con-name 名字 ifname eth0 autoconnect yes                      ##添加动态网络

Linux的网络配置  

Linux的网络配置

 

nmcli connection add type ethernrt con-name 名字 ifname eth0 ip4 IP            ##添加静态网络
动态更改为静态:
nmcli connection modify 名字 ipv4.addresses IP/24   ##先给这个网络一个地址
nmcli connection modify 名字 ipv4.method  manual      ##把这个地址设定为静态(manual)
systemctl restart network                 ##重启网络
Linux的网络配置

Linux的网络配置

静态更改为动态

nmcli connection modify 名字 ipv4.method auto      ##将westos静态网络更改为动态网络(auto)

systemctl restart network

静态更改ip

nmcli connection modify 名字 ipv4.addresses  IP/24
systemctl restart network

3.配置文件法管理网络

1)配置文件:    /etc/sysconfig/netwrok-scripts/

2)配置文件guize:

   DEVICE=网卡
  ONBOOT=yes
  BOOTPROTO=dhcp| none|static
  IPADDR=ip
  NETMASK=子网掩码 |PREFIX=子网掩码缩写

  [NAME=连接名称]   (可加可不加)

Linux的网络配置

静态:                                                                                      动态:

Linux的网络配置                                            Linux的网络配置     

systemctl restart network

3)一个静态网卡设定多个ip
cd     /etc/sysconfig/network-scripts/
vim    ifcfg-student
   DEVICE=eth0
   ONBOOT=yes
   BOOTPROTO=none
   IPADDR0=172.25.254.115
   PREFIX0=24
   IPADDR1=172.25.0.115
   PREFIX0=24
systemctl restart network
ip addr show eth0         ##查看两个ip
 Linux的网络配置

四、设定网关
方法1.   vim /etc/sysconfig/network           ##全局网关

                     GATEWAY=网关ip

              systemctl restart netwrok

               route -n                            ##查询网关
Linux的网络配置

Linux的网络配置

方法2. vim /etc/sysconfig/network-scripts/ifcfg-网卡配置文件 ##网卡接口网关
                     GATEWAY=网关ip
            systemctl restart netwrok

            route -n            ##查询网关

五、设定dns
 1.配置外网解析DNS服务器

方法一:vim  /etc/resolv.conf                           ####临时
                        nameserver 114.114.114.114

                systemctl  restart  network

方法二:vim /etc/sysconfig/network-scripts/ifcfg-xxx (永久)

             Linux的网络配置

注意:
当网络工作模式为dhcp时,系统会自动获得ip 网关 dns
那么/etc/resolv.conf会被获得到的信息修改
如果不需要获得dns信息,在网卡配置文件中加入    PEERDNS=no

2.配置本地解析文件
vim /etc/hosts
      ip    主机名称

systemctl  restart  network

3.配置本地解析文件和dns读取的优先级调整
/etc/nsswitch.conf
 38 #hosts:     db files nisplus nis dns

 39 hosts:      files  dns          ##files代表本地解析文件,dns代表dns服务器,那个在前面那个优先
Linux的网络配置

六、设置网关
###在真机里###

[[email protected] Desktop]$ su -                                 ##切换到超级用户
Password:

Last login:  Sat Oct 13 14:39:15 CST 2018 on pts/0

先检查一下是否有网关,如果有网关的话需要先删除

[[email protected] ~]# route -n                                                              ##查看网关(未联网)
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0             172.25.254.68  0.0.0.0           UG    425      0        0 br0
172.25.68.0      0.0.0.0         255.255.255.0       U     425      0        0 br0
172.25.254.0    0.0.0.0         255.255.255.0       U     425      0        0 br0
192.168.122.0   0.0.0.0         255.255.255.0       U     0         0        0 virbr0
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0                  编辑配置文件删除GATEWAY=XXXXXXX
[[email protected] ~]# systemctl restart network          ###重启网络
[[email protected] ~]# ifconfig                               ##查看本机的ip也就是这个电脑网关的ip

[[email protected] ~]# route -n                   ###查看一下网关没有了
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.25.20.0       0.0.0.0         255.255.255.0      U     425      0        0 br0
172.25.254.0     0.0.0.0         255.255.255.0       U     425     0        0 br0

192.168.122.0   0.0.0.0         255.255.255.0       U     0         0        0 virbr0

联网状态下,查看的网关是连着网(wifi)的ip

[[email protected] ~]# route -n                               ##查看联网后的网关
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0            192.168.43.1    0.0.0.0             UG       600    0        0 wlp6s0
172.25.68.0       0.0.0.0         255.255.255.0     U        425    0        0 br0
172.25.254.0     0.0.0.0         255.255.255.0     U        425    0        0 br0
192.168.122.0   0.0.0.0         255.255.255.0     U          0      0        0 virbr0

[[email protected] ~]# ping  www.baidu.com                                  ##测试一下联的这个网通不通
PING www.a.shifen.com (220.181.112.244) 56(84) bytes of data.
64 bytes from 220.181.112.244: icmp_seq=1 ttl=53 time=59.4 ms

[[email protected] ~]# systemctl start firewalld           ##打开防火墙
[[email protected] ~]# firewall-cmd --add-masquerade      ##允许防火墙伪装IP

success

[[email protected] ~]# firewall-cmd --list-all
public (default, active)
  interfaces: br0 p8p1 wlp2s0
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: yes
  forward-ports:
  icmp-blocks:
  rich rules:

###在虚拟机里###
vim /etc/sysconfig/network               ##输入真机的ip
      GATEWAY=172.25.254.68
systemctl  restart network            ##重启网络

vim  /etc/resolv.conf      

      nameserver    114.114.114.114

 

ping www.baidu.com      ##如果通,就可以在虚拟机里上网了

排错:

1.虚拟机ping www.baidu.com不通

  真机里查看防火墙是否开启,masquerade:yes是否开启状态

    firewall-cmd    --list-all                             

2.在虚拟机中看ip  网关  dns的设置有没有错误

Linux的网络配置

Linux的网络配置
3.在虚拟机机里ping 网关   如果ping不通就virt-manager删除网卡,重新添加

Linux的网络配置

4.在真机里vim /etc/sysctl.conf
     net.ipv4.ip_forward = 1
   sysctl -p             ##执行以上操作