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 ---查看接口信息
命令:ip addr flush dev eth0 对设备eth0进行刷新(刷新后之前的ip地址就没了)
二、永久设定网络IP
【1】图形化方式
命令:nm-connection-editor (无配置文件时生成,有的时候进行更改配置文件)
步骤:(条件是IP不存在的时候,添加IP用如下步骤)
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 device disconnection eth0,断开连接(关闭网卡)
使用命令nmcli device connection eth0进行激活 (启动网卡)
使用 nmcli connection show 显示的是接口名称
注意: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 restart firewalld
systemctl start libvirtd ## 要是不打开,虚拟机用不了
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 ## 全局网关,针对没有设定网关的网卡生效(对于所有的网卡都生效)
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:了解即可
DNS1=114.114.114.114
注意:1)当网络工作模式时DHCP时,系统会自动获取IP,网关、DNS ;那么 /etc/resolv.conf会被会得到的信息修改;若不要获取DNS信息,则在网卡配置文件中/etc/sysconfig/network-scripts/ifcfg-eth0中加入PEERDNS=no
查看: 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