Linux下的网络配置
1.什么是IP ADDRESS
internet protocl ADDRESS ##网络进程地址
ipv4 internet protocol version 4
32位二进制组成ip:
11111110.11111110.11111110.11111110 ==254.254.254.254
2.子网掩码
netmask:用于标示网路区域
子网掩码非0的位对应的ip上的数字表示这个ip的网络位
子网掩码0位对应的数字是ip的主机位
网络位表示网络区域
主机位表示网络区域里的某台主机
注:IPV4 Setting 如果是自动生成的,需要有一个服务器才能分配网址。
3.ip通信判定
网络位一致,主机位不一致的2个IP可以直接通讯
例如:172.25.7.107/24与172.25.7.207/24 /24表示有24位二进制掩码
相当于255.255.255.0。(网络位为:172.25.71 主机位分为:107与207)
4.配置网络的三种方式
(1).开启图形界面/半图形界面设置网关
命令:nm-connection-editor ##启图形界面设置网关
点击Add,添加网卡。
选择Ethernet,创建新网卡。
自动设置Device MAC address,选择唯一的设置。
选择IPv4 Settings ,点击Add,设置ip地址,设置子网掩码24.
选择保存。
命令:nmtui ##开启半图形界面设置网关
其与以上的方法设置方式相差无几。
选择Edit a connection,设置网络。
按Add,添加网络设置。
选择Ethernet,创建以太网。
设置一个静态网卡。、设置网络ip/子网掩码,选择OK创建。
退出设置。
(2).用命令设置网络设定
nmcli命令 ##必须开启NetworkManager必须开启
nmcli device connect eth0 ##启用eth0网卡
nmcli device disconnect eth0 ##关闭eth0网卡
nmcli device show eth0 ##查看eth0网卡信息
nmcli device status eth0 ##查看eth0网卡服务接口信息
nmcli connection show ##查看本机上存在的网卡信息
nmcli connection down westos ##关闭westos网卡
nmcli connection up westos ##开启westos网卡
nmcli connection delete westos ##
nmcli connection add type ethernet con-name westos ifname eth0 ip4 172.25.254.100/24 ##
nmcli connection modify westos ipv4.method auto ##
nmcli connection modify westos ipv4.method manual ##
命令:[[email protected] ~]# nmcli device show eth0
命令:[[email protected] ~]# nmcli device status eth0
命令:[[email protected] ~]# nmcli connection add type ethernet autoconnect yes con-name westos ifname eth0
创建一个使用eth0网块,名为westos的以太网动态网卡。
命令:[[email protected] ~]# nmcli connection add type ethernet con-name linux ifname eth0 ip4 172.25.71.100/24
创建一个使用eth0网块,名为linux的以太网静态网卡,ip地址:172.25.71.100/24。
命令:[[email protected] ~]# nmcli connection modify westos ipv4.addresses 172.25.71.210/24
将动态的网络设置westos换成设置好的静态地址。修改结果如图所示。
命令:[[email protected] ~]# nmcli connection modify linux ipv4.method auto
(3).管理网络配置文件
网络配置目录:
/etc/sysconfig/network-scripts/
ifcfg-xxxx ##网络配置文件命名规则
DEVICE=XXX ##设备名称
BOOTPROTO=dhcp|static|none ##设备工作方式(dhcp是动态网络,none,static是动态网络)
ONBOOT=yes ##网络服务开启时自动**网卡
IPADDR= ##IP地址
PREFIX=24 ##子网掩码
NAME= ##接口名称
示例:静态网络设定文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=172.25.254.107
NETMASK=255.255.255.0
BOOTPROTO=none
NAME=westos
示例:动态网络设定文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
5.设置内核路由功能(做出地址伪装)
在一台只有一张网卡的客户端上,假设其ip地址为:1.1.1.107
另一台有两张网卡:一张ip地址为:1.1.1.207,另一张ip地址为:172.25.7.107
但是由于这两台主机的ip码不再同一个局域网下,所以他们不能通信。
如果想在将客户端发送的数据包到172.25.7这个网段上,需要将客户机的数据包发送到服务端,服务端使用1.1.1.207网端接受,然后经过内核伪装与防火服务,将数据包伪装成服务器的另一个网端所发送的,这样这个数据包就可以发送到172网段上,进行通信。
路由器:对不可达到文件的数据包,转化成真实可以到达地址的ip。做地址转换(NAT)。
主要步骤如下:
客户机:1.设置ip地址:1.1.1.107
2.设置网关:1.1.1.207 ##网关:在同一路由器,网络码相同,用于接受客户端发送包的网端成为网关。
服务机:1.设置ip,一块为正常ip的网端,一张为用于接受客户端数据包的网关。
2.启动防火墙。
命令:systemctl start firewalld ##开启防火墙
firewall-cmd --list-all ##将防火墙信息列出
firewall-cmd --permanent --add-masquerade ##增加防火墙的masquerade功能以达到伪装功能
firewall-cmd --reload ##防火墙重启
firewall-cmd --list-all ##将防火墙信息列出
sysctl -a | grep ip_forward ##显示内核路由信息
vim /etc/sysctl.conf:将上一条命令的结果复制到该文件里。##增加内核封装
sysctl -p ##重新显示内核信息
客户机:
ping 主机不同网段的ip地址。
实验结果:
可以看出在不同网段上,可以链接与自己不同的网段,内核完成了地址伪装功能。
6.虚拟机链接网络
与5过程类似,将真机作为服务机,虚拟机作为客户机,使用ip addr show 查找真机地址。
在虚拟机上设置网关(真机ip)与IP地址,注意二者应在同一网段下。
在真机上开启防火墙与内核伪装功能。链接网络,获取百度地址。
实验:
在虚拟机上ping 真机ip,后ping 百度地址
注:在虚拟机上设置网络是最好重新设置,否则有可能会链接不通。
7.设定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-xxxx
DNS1=114.114.114.114
本地解析文件和dns读取优先级的调整
/etc/nsswitch.conf
39 hosts: files dns ##表示本地文件优先,dns在后
可以说在修改本地解析文件之后才能够通过域名来链接网络。
注意:
当网络工作模式为dhcp时
系统会自动获得ip 网关 dns
那么/etc/resolv.conf会被获得的信息修改
如果不需要获得dns信息
在网卡配置文件中加入:PREEDNS=no