一.网络配置目录
1、常用网络协议ipv4
ip : 32位2进制
11111110.11111110.11111110.11111110 == 254.254.254.254
netmask:
用来标识ip的网络位和主机位
网络位表示网络区域
主机位表示网络区域中的某台主机
netmask 非0位所对应的ip地址数值为这个ip的网络位
netmask 0位所对应的ip 地址数值为这个ip 的主机位
网络位一致,主机位不一致的两个 ip 可以直接通信
这样的两台主机叫做直连网络
主机位:0-255(0代表整个网络不能做主机位,255是广播位也不可以做主机位)
2.网络配置目录
/etc/sysconfig/network-scripts/ #网络配置目录(里)ifcfg-xxxx ###就是网络配置文件[root@server87 network-scripts]# lsifcfg-loifdown-ppp ifup-ethifup-sitifcfg-redhat ifdown-routes ifup-ippp ifup-Teamifdown ifdown-sit ifup-ipv6 ifup-TeamPortifdown-bnep ifdown-Teamifup-isdn ifup-tunnelifdown-eth ifdown-TeamPort ifup-plip ifup-wirelessifdown-ippp ifdown-tunnel ifup-plusb init.ipv6-globalifdown-ipv6 ifup ifup-post network-functionsifdown-isdn ifup-aliasesifup-pppnetwork-functions-ipv6ifdown-post ifup-bnep ifup-routes[root@server87 network-scripts]# cat ifcfg-loDEVICE=lo IPADDR=127.0.0.1NETMASK=255.0.0.0NETWORK=127.0.0.0# If you're having problems with gated making 127.0.0.0/8 a martian,# you can change this to something else (255.255.255.255, for example)BROADCAST=127.255.255.255ONBOOT=yesNAME=loopback[root@server87 network-scripts]# cat ifcfg-redhat DEVICE=eth0 ONBOOT=yesIPADDR=172.25.254.187NETMASK=255.255.255.0BOOTPROTO=staticNAME=redhat
[kiosk@foundation37 ~]$ ip addr show #真机ip1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000link/ether 00:21:cc:62:f3:2f brd ff:ff:ff:ff:ff:ffinet 172.25.37.250/24 brd 172.25.37.255 scope global br0 #172.25.37网段,IP为真机的IP250,用于与虚拟机通信valid_lft forever preferred_lft foreverinet 172.25.254.37/24 brd 172.25.254.255 scope global br0valid_lft forever preferred_lft forever #172.25.254.37 ip为37,在172.25.254网段内通信inet6 fe80::221:ccff:fe62:f32f/64 scope link valid_lft forever preferred_lft forever
[root@server87 network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-redhat DEVICE=eth0ONBOOT=yesIPADDR0=172.25.254.87 #第一个ip,用于在172.25.254网段内通信,ip为87NETMASK1=255.255.255.0BOOTPROTO=staticNAME=redhatIPADDR1=172.25.37.100 #第二个ip,用于在172.25.37网段内通信,ip为100PREFIX1=24
[root@server87 network-scripts]# systemctl restart network[root@server87 network-scripts]# ping 172.25.37.250 #与真机在172.25.37网段内通信成功PING 172.25.37.250 (172.25.37.250) 56(84) bytes of data.64 bytes from 172.25.37.250: icmp_seq=1 ttl=64 time=0.243 ms64 bytes from 172.25.37.250: icmp_seq=2 ttl=64 time=0.194 ms64 bytes from 172.25.37.250: icmp_seq=3 ttl=64 time=0.192 ms[root@server87 network-scripts]# ping 172.25.254.37 #与真机在172.25.254网段内通信成功PING 172.25.254.37 (172.25.254.37) 56(84) bytes of data.64 bytes from 172.25.254.37: icmp_seq=1 ttl=64 time=0.263 ms64 bytes from 172.25.254.37: icmp_seq=2 ttl=64 time=0.130 ms64 bytes from 172.25.254.37: icmp_seq=3 ttl=64 time=0.198 ms
二.设定ip
1、命令方式
ifconfig dvice 新ip netmask 子网掩码 #设定临时ip,系统重启就失效了,dvice为设备名
ping ip #检查连接状态
2、图形界面
nm-connection-editor #图形设定ip,永久设定
网络设备设定ip的方式:
dhcp #动态ip,是会变化的
static #静态ip,ip不会变化
图形设置里面 Method 中
DHCP #是服务器给的,动态获取ip,是会变化的
Manual #是操作者手动指定的,静态ip,ip不会变化
3、文本化图形
nmtui 当系统没有图形时可以用此命令开启网络设定的ui界面
删掉后–>Add #不需要重启
Edit #编辑之后需要重启
ifconfig #查看ip
ip addr show #查看ip
4.文件方式
cd /etc/sysconfig/network-scripts/vim ifcfg-xxxx #编辑配置文件DEVICE=设备名ONBOOT=yesBOOTPROTO=dhcp或none|staticIPADDR=ip[NAME=连接名称]NETMASK=子网掩码(只能指定一个ip)|PREFIX=子网掩码缩写(可以指定多个ip)systemctl restart network #修改完必须重启网络
动态网络DHCP:
cd /etc/sysconfig/network-scripts/
vim ifcfg-haha
systemctl restart network
静态网络:
cd /etc/sysconfig/network-scripts/
vim ifcfg-haha
systemctl restart network
一个静态网卡设定多个ip
例子:
cd /etc/sysconfig/network-scripts/
vim ifcfg-haha
DEVICE=eth0 #文件内容
ONBOOT=yes
BOOTPROTO=none|static
IPADDR0=172.25.254.123
PREFIX0=24
IPADDR1=172.25.0.123
PREFIX1=24
systemctl restart network #重启
三.网关
网关:路由器上和自己有相同网段的接收网卡发送的数据的ip
路由器:对数据进行打包(SNAT),也就是对发送方的地址进行伪装
当因为网络段不同而连接不到时可通过添加网管的方式连接其他ip
ping #查看通过网关可连接的百度ip
1、全局设置网关
vim /etc/sysconfig/network
GATEWAY=172.25.254.250 #添加全局网关,对主机所有网络生效
systemctl restart network #重启
route -n #查看网关
ping ip #查看是否连接到此 ip
2、在一个网络中配置网关
cd /etc/sysconfig/network-scripts/
vim ifcfg-xxx #网卡配置文件
文件内容:DEVICE=eth0 ONBOOT=yesBOOTPROTO=none|staticIPADDR0=172.25.254.123PREFIX0=24IPADDR1=172.25.0.123PREFIX1=24GATEWAY0=172.25.254.250 #对172.25.254.123配置网关
systemctl restart network
route -n #查看网关
ping ip #查看是否连到此 ip
四、DNS
DNS:域名和ip相互映射的数据库
地址解析:将网址变成ip
1、本地解析文件 /etc/hosts
vim /etc/hosts #当自己知道ip时,编辑此文件
ip 网址 #在本地文件添加的内容,当ip和网址对应错误则不能访问
2、全局设定
vim /etc/resolv.conf #设置你所要使用的DNS当自己不知道ip时,优先级最高,最多可写四个
nameserver dns服务器ip #文件所写内容
ping #查看连接淘宝
测试:以真机为路由器,在虚拟机上进行连接
步骤:
在真机切换到超级用户 --> 去网关 --> systemctl restart network 重启网络 -->连接wifi --> 查看网关
五.测试
以真机为路由器,在虚拟机上进行连接
1.把真实主机变成路由器(路由器上配置的ip就是网关)
步骤:在真机切换到超级用户 --> 去网关 --> systemctl restart network 重启网络 -->连接wifi --> 查看网关
[kiosk@foundation37 ~]$ systemctl restart firewalld #先打开防火墙[kiosk@foundation37 ~]$ firewall-cmd --list-alltrusted (active)target: ACCEPTicmp-block-inversion: nointerfaces: br0 enp0s25 wlp3s0sources: services: ports: protocols: masquerade: no #地址伪装功能forward-ports: sourceports: icmp-blocks: rich rules: [kiosk@foundation37 ~]$ firewall-cmd --permanent --add-masquerade #打开地址伪装功能success[kiosk@foundation37 ~]$ firewall-cmd --reload #重新加载success[kiosk@foundation37 ~]$ firewall-cmd --list-alltrusted (active)target: ACCEPTicmp-block-inversion: nointerfaces: br0 enp0s25 wlp3s0sources: services: ports: protocols: masquerade: yes #地址伪装功能开启,真实主机变成路由器forward-ports: sourceports: icmp-blocks: rich rules:
2.给虚拟机设置网关
在虚拟机设置网关 --> 重启网络 -->DNS -->重启网络 --> ping 真机和百度测试是否成功
[root@server87 ~]# vim /etc/sysconfig/network #全局网关,针对所有没有设定网关的网卡上的网络生效 (只有一个路由器的时候,全局网关覆盖就行了)NETWORKING=yesNOZEROCONF=yesGATEWAY=172.25.254.37[root@server87 ~]# vim /etc/sysconfig/network-scripts/ifcfg-redhat #当前机器网卡的文件添加:GATEWAY0=172.25.254.37GATEWAY1=172.25.254.37(GATEWAY0和GATEWAY1可以不一样)但是网卡中只有一个IP地址的时候GATEWAY=172.25.254.37[root@server87 ~]# systemctl restart network #重起网络[root@server87 ~]# route -n #查看网关Kernel IP routing tableDestinationGateway Genmask Flags Metric Ref Use Iface0.0.0.0 172.25.254.37 0.0.0.0 UG 1024 0 0 eth0172.25.254.0 0.0.0.0 255.255.255.0 U00 0 eth0
设定DNS(虚拟机)
DNS=domain name server #域名解析服务器,解析就是把域名翻译为IP
[root@server87 ~]# vim /etc/resolv.conf #DNS的指向文件nameserver 114.114.114.114#解释:需要哪个域名的IP就去问114.114.114.114[root@server87 ~]# vim /etc/sysconfig/network-scripts/ifcfg-redhat #设置当前网卡DNS=114.114.114.114若有多个IP:DNS0=114.114.114.114DNS1=114.114.114.114[root@server87 ~]# systemctl restart network[root@server87 ~]# ping PING www. (61.135.169.125) 56(84) bytes of data.64 bytes from 61.135.169.125: icmp_seq=1 ttl=52 time=55.3 ms64 bytes from 61.135.169.125: icmp_seq=2 ttl=52 time=53.1 ms[root@server87 ~]# ping 61.135.169.125PING 61.135.169.125 (61.135.169.125) 56(84) bytes of data.64 bytes from 61.135.169.125: icmp_seq=1 ttl=52 time=70.8 ms64 bytes from 61.135.169.125: icmp_seq=2 ttl=52 time=109 ms
注意:需要打开虚拟机防火墙
本地域名解析文件(名字可以随意起),本地解析更快,不用访问DNS去翻译[root@server87 ~]# vim /etc/hosts61.135.169.125 #百度的IP,重新起了个名称[root@server87 ~]# ping PING (61.135.169.125) 56(84) bytes of data.64 bytes from (61.135.169.125): icmp_seq=1 ttl=52 time=53.9 ms
3.DNS等级
/etc/hosts > /etc/resolv.conf #系统默认DNS等级[kiosk@foundation37 yum.repos.d]$ vim /etc/nsswitch.conf39 hosts:files dns #/etc/hosts优先,files在前39 hosts:dns files #/etc/resolv.conf优先,dns在前