linux网络配置
linux网络配置
一:网络配置的相关概念
1:网关
网关就是连接不同网段的,可以让不同网段的主机进行通信,就相当于是一个网段的出口,必须通过这个出口出去,才能与外界进行通信,
在linux中有默认的网关,NAT模式中默认的网关就是 以 .2结尾 比如 Ip为 192.168.10.10 它的网关就是 192.168.10.2
仅主机模式的网关为 .1结尾的 , 192.168.100.100 它的默认网关就是 192.168.10.1
2:ip和子网掩码之间的关系
ip和子网掩码,是一起出现的,伴随着ip的出现,子网掩码也得出现,子网掩码决定了这个ip属于哪个网段,决定着网络位和主机位
网络位用 1 来表示 ,主机位用 0来表示
子网掩码的写法有2种:第一种就是十进制的写法 255.255.255.0 第二种就是 /24 因为 3个255转换成二进制就是24个连续的1组成。一共有32个1组成
网络地址:主机位全为0 (通常也被叫做网段)
广播地址:主机位全为1
可用地址(主机位不全为0或者1),网络地址和广播地址都是不可用ip地址
二者之间的关系:
列如:192.168.10.10 /24 表示 192.168.10.0 是这个地址的网段,这个ip属于这个网段,因为 /24 表示前面连续的24个1都是网络位,把后面的8个二进制的数变为0,就是这个Ip的网络地址了。后面8位就是主机位
列如:192.168.100.100 /27
它的网络地址:192.168.100.96
它的广播地址:192.168.100.127
可用地址:192.168.100.97~192.168.100.126 30个可用地址
计算如下 /27 表示前面27为都是网络位,后面5为全是主机位
十进制 二进制
100 01100100
将后面的主机位全变成0 01100000 所以就是 011=96 192.168.100.96
将后面的主机为全变成1 01111111 所以就是 01111111 = 127 192.168.100.127
3:虚拟网络编辑器(虚拟交换机)
就是用来设置你的虚拟机的网段的,也就是子网ip==网络地址
你所配置的ip地址必须是这个网段的才行,否则无法进行通信
4:网卡的配置文件
# 进入网卡的配置文件中去 [root@localhost /]# cd /etc/sysconfig/network-scripts/ # 其中以 ifcfg 开头的为网卡的配置文件 [root@localhost network-scripts]# ls ifcfg-ens32 ifdown-isdn ifup ifup-plip ifup-tunnel ifcfg-lo
二:三种模式的概念
1:NAT模式
通过虚拟机和主机连接在nat网卡上(虚拟交换机),来通信,能够访问主机和外网,但是有个缺点,就是其他的电脑不能够访问你的虚拟机,只能访问你的主机
2:仅主机模式
虚拟机和主机连接在vmnet1网卡上,虚拟机能够访问主机
3:桥接模式
虚拟机和主机通过虚拟网桥来进行通信,相当于虚拟机用的是主机的ip地址,能够访问外网和主机,但是网关和dns要与主机一致,且与主机在同一个网段上
三:NAT模式的配置
1:进入网络编辑器,设置网络地址
首先进入网络编辑器中去,设置整个虚拟机的网络地址,NAT模式设置为 192.168.20.0/24 这个网段
2:打开设置,将网卡的模式调成NAT模式
点开虚拟机的设置,改为NAT模式
3:配置ens-32的网卡的配置
[root@localhost network-scripts]# nmcli connection modify ens32 ipv4.method manual ipv4.addresses 192.168.20.100/24 ipv4.dns 8.8.8.8 ipv4.gateway 192.168.20.2 # method 为获取ip的方式 manual为静态获取 # addresses 为ip地址 # dns 为域名解析 实现域名和ip之间的转换 # gateway 为 网关
修改网卡的开机自动启懂
[root@localhost /]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
ONBOOT=yes
连接网卡的连接名和网卡的设置
[root@localhost network-scripts]# nmcli connection up ens32
成功激活的连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
重启加载网络的配置文件(刷新一下)
[root@localhost network-scripts]# nmcli connection reload
重启网络服务
[root@localhost network-scripts]# systemctl restart network
4:ping百度测试一下
[root@localhost /]# ping www.baidu.com PING www.a.shifen.com (153.3.238.102) 56(84) bytes of data. 64 bytes from 153.3.238.102 (153.3.238.102): icmp_seq=1 ttl=128 time=29.8 ms
## 返回64个字节就证明了这个机子能够上网
四:仅主机模式的配置
1:前期的准备
点击虚拟网络编辑器,设置仅主机的网段为 192.168.10.0 /24
打开虚拟机的设置,将网卡的模式改成为仅主机模式
2:配置仅主机模式
ONBOOT=yes IPADDR=192.168.10.100 PREFIX=24 GATEWAY=192.168.10.1
# 重启网络服务
[root@localhost network-scripts]# systemctl restart network
3:测试 ping 网关
[root@localhost /]# ping 192.168.10.1 PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data. 64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=0.517 ms 64 bytes from 192.168.10.1: icmp_seq=2 ttl=64 time=0.475 ms # 能ping 通网关 就说明了能够网络能够出去
五:桥接模式的配置
1:前期的准备
打开虚拟网络编辑器,把桥接模式的自动改为与物理机网卡一样的连接,(怎么查看呢,打开电脑的网络适配器,开一下自己的waln下面的是什么连接,就ok了)
打开虚拟机的设置,将网卡模式改为桥接模式
2:配置桥接模式
#虚拟机和主机都在同一个网段上,dns和网关都是一样的 ONBOOT=yes IPADDR=192.168.0.100 PREFIX=24 GATEWAY=192.168.0.1 DNS1=192.168.0.1 ~
3:测试
[root@client network-scripts]# ping www.baidu.com PING www.a.shifen.com (153.3.238.102) 56(84) bytes of data. 64 bytes from 153.3.238.102 (153.3.238.102): icmp_seq=1 ttl=128 time=18.7 ms 64 bytes from 153.3.238.102 (153.3.238.102): icmp_seq=2 ttl=128 time=17.6 ms 64 bytes from 153.3.238.102 (153.3.238.102): icmp_seq=3 ttl=128 time=17.8 ms ^C --- www.a.shifen.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 11087ms rtt min/avg/max/mdev = 17.646/18.095/18.785/0.518 ms ctrl+c停止,已经ping通了,可以访问外网
六:一些常用的命令
1:添加网卡
在虚拟机设置上添加一张网卡,但是虚拟机的网卡的配置文件上没有,所以需要创建一个新增网卡的配置文件,使用呢ifconfig可以查看网卡的设备多了一个,但是没有网卡的连接名的配置文件
#con-name:为网卡的连接名,ifname:为网卡的设备名,type:网卡的类型,autoconnect:网卡是否开机自启 [root@client network-scripts]# nmcli connection add con-name ens33 ifname ens33 type ethernet autoconnect yes #通过nmcli connection show可以查看多了一个网卡的连接名的配置文件 [root@client network-scripts]# nmcli connection show 名称 UUID 类型 设备 ens32 f2153947-d949-4860-9d61-d7b193019e3e 802-3-ethernet ens32 ens33 ec5c1919-c573-49b7-b03b-04e7f0aea043 802-3-ethernet ens33 ens35 a1b8f9f8-6c5a-49fd-aeae-bfefc2dd8451 802-3-ethernet ens35 virbr0 030bc3af-a4dc-4976-9d2f-eef9134b95ed bridge virbr0 # 建议在新增了一张网卡后,立即创建一个网卡的配置文件
2:启用和断开网卡的设备或者连接名的配置
#查看网卡的连接名的配置信息 [root@client network-scripts]# nmcli connection show 名称 UUID 类型 设备 ens32 f2153947-d949-4860-9d61-d7b193019e3e 802-3-ethernet ens32 ens33 ec5c1919-c573-49b7-b03b-04e7f0aea043 802-3-ethernet ens33 ens35 a1b8f9f8-6c5a-49fd-aeae-bfefc2dd8451 802-3-ethernet ens35 virbr0 030bc3af-a4dc-4976-9d2f-eef9134b95ed bridge virbr0 [root@client network-scripts]# #断开ens32的连接名的配置文件 [root@client network-scripts]# nmcli connection down ens32 成功取消激活连接 'ens32'(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/0) [root@client network-scripts]# #启动ens32的连接名的配置文件 [root@client network-scripts]# nmcli connection up ens32 成功激活的连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/5) [root@client network-scripts]# #禁用ens32设备 [root@client network-scripts]# nmcli device disconnect ens32 成功断开设备 'ens32'。 [root@client network-scripts]# # 可以通过nmcli device status 查看网卡设备的状态 [root@client network-scripts]# nmcli device status 设备 类型 状态 CONNECTION virbr0 bridge 连接的 virbr0 ens33 ethernet 连接的 ens33 ens35 ethernet 连接的 ens35 ens32 ethernet 已断开 -- lo loopback 未管理 -- virbr0-nic tun 未管理 -- #启用ens32设备 [root@client network-scripts]# nmcli device connect ens32 [root@client network-scripts]#
3:删除网卡的配置文件
nmcli connection delete ens32