##linux下的网络配置##
1.什么是IP ADDRESS
internet protocol ADDRESS ##网络进程地址
ip是能使连接到网上的所有计算机网络实现相互通信的一套规则,ip地址具有唯一性
ipv4 internet protocol version 4
1.2x32(二进制32位)
ip 由32个01组成
11111110.11111110.11111110.11111110=254.254.254.254
2.子网掩码
一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码
用来划分网络区域
子网掩码非0的位对应ip上的数字表示这个ip的网络位
子网掩码0位对应的数字是ip的主机位
网络位表示网络区域
主机位表示网络区域里某台主机
3.ip通信判定
网络位一致,主机位不一致的两个IP可以直接通讯
172.25.254.1/24 24=255.255.255.255.0
172.25.254.2/24
172.25.0.1/16 (可以和上面两个网络通讯)
4.网络设定工具
ping ##检测网络是否通畅
ifconfig ##查看或设定接口
ifconfig device ip/24 ##设定
ifconfig device down ##关闭
ifconfig device up ##开启
ip addr ##检测
ip addr show ##检测
ip addr add ip/24 dev device ##设定
注意:device的名字是一个物理事实,是什么名字就用什么名字
6.命令方式设定网络
nmcli ##NetworkManeger必须是开启的
nmcli device connect eth0 ##启用eth0网卡
nmcli device disconnect eth0 ##关闭eth0网卡
nmcli device show eth0 ##查看网卡信息
nmcli device status eth0 ##查看网卡服务接口信息
nmcli connection show ##显示所有活动链接
nmcli connection down westos
nmcli connection up westos
nmcli connection delete westos
nmcli connection add type ethernet con-name westos if-name eth0 ip4 172.25.254.100/24
nmcli connection modify westos ipv4.method auto
nmcli connection modify westos ipv4.method manual
nmcli connection modify westos ipv4.addresses172.25.254.200/24 之后要systemctl restart network才能看到变化
##7.管理网络配置###
cd /etc/sysconfig/network-scripts/
网络配置文件的命名规则
vim ifcfg-xxx
DEVICE=xxx ##设备名称
BOOTPROTO=dhcp|static|none ##设备工作方式
ONBOOT=yes ##网络服务开启时自动激活网卡
IPADDR= ##IP地址
PREFIX=24 或 NETMASK=255.255.255.0 ##子网掩码
NAME= ##接口名称
示例
静态网络设定文件
vim /etc/sysconfig/network-scripts/ifcfig-eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=172.25.254.144
NETMASK=255.2555.255.0
BOTPROTO=none
NAME=westos
systemctl start network
一块网卡上配置多个IP (删掉原来的配置)
vim /etc/sysconfig/network-scripts/ifcfig-eth0
DEVICE=eth0
ONBOOT=yes
IPADDR0=172.25.254.100
NETMASK0=255.255.255.0
BOTPROTO=none
NAME=westos
IPADDR1=172.25.0.100
PREFIX=24
systemctl restart network
ip addr show eth0
##8.lo回环接口##
回环接口-----人的神经---127.0.0.1 localhost
##9.网关###
1.把真实主机变成路由器(前提是真机连上了网络)
systemctl stop libvirtd
systenctl restart firewalld
systemctl start libvirtd
firewall-cmd --list-all
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
firewall-cmd --list-all
public (default,active)
interfaces:br0 enp0s25 wlp3s0
source:
service:dhcpv6-client ssh
ports:
masquerable: yes <<地址伪装功能开启,真实主机变成路由器>>
forward-ports:
icmp-blocks:
rich rules:
2.设定虚拟机网关(连接到主机)
vim /etc/sysconfig/network ##全局网关(针对所有没有设定网关的网卡生效)
GATEWAY=172.25.254.44
systemcl restart network
route -n
ping 172.25.254.44
或者
vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY0=172.25.254.44 ##当网卡中设定的IP有多个时,制定队友那个IP生效
GETWAY=172.25.254.44 ##当网卡中设定的IP只有一个时
route -n ##查看网关是否生效
若有了主机ip ,则ping 百度ip 就可以连上网
注意:若虚拟机可以route -n到真机ip但ping不了,则要在主机里面virt-manager重新弄个网卡,再重起虚拟机,重新设定就好了
##10.设定dns###
domain name server ==域名解析服务 ##解析就是把域名变成ip
vim /etc/hosts ##本地解析
ip 域名
220.181.111.188 www.baidu.com
vim /etc/resolv.conf ##dns的指定文件
nameserver 114.114.114.114 ##当需要某个域名的IP地址时去问114.114.114.114
vim /etc/sysconfig/network-scripts/ifcfg-xxx
DNS1=114.114.114.114
注意:当网络工作模式为dhcp时
系统会自动获得ip 网关 dns
那么/etc/resolv.conf会被获得的信息修改
如果不需要获得dns信息
在网卡配置文件中加入
PREEDNS=no
##11.设定解析的优先级
系统默认:
/etc/hosts > /etc/resolv.conf
vim /etc/nsswitch.conf
39 hosts: files dns ##/etc/hosts优先(内网)
vim /etc/nsswitch.conf
39 hosts: dns files ##/etc/resolv.conf优先(外网)
###12.dhcp服务配置(在server里进行,且hostname必须是server.example.com形式)动态发放
yum install dhcp -y
cd /etc/dhcp/
ls 会显示dhclient.d dhcpd6.conf dhcpd.conf
vim dhcpd.conf
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim dhcpd.conf
删除37行及以后,删除27,28行
编写第七行双引号里的为westos.com ##域名
编写第八行为114.114.114.114 ##dns
default-lease-time 600; ##默认租约
max-lease-time 7200; ##最长租约
编写倒数第三行为 subnet 172.25.254.0 netmask 255.255.255.0 { ##子网设定
编写倒数第二行为range 172.25.254.160 172.25.254.200; ##IP地址池
编写最后一行为option routers 172.25.254.250; ##网关
systemctl restart dhcpd
systemctl stop firewalld
测试:
在网络工作模式是dhcp的主机中重启网络
desktop(动态获取)
systemctl stop firewalld
vim /etc/sysconfig/network-scripts/ifcfg-xxx
cat /var/lib/dhcpd/dhcpd.conf