linux下的网络配置
1.基本ip知识
- IP ADDRESS =internet protocol address (网络进程地址)
- ipv4 = internet protocol version 4 (网络进程版本4)
- 主机号全1 为广播地址,一般不作为主机号分配ip地址;用户主机号为1-254
- eth0 外部接口;lo 回环接口 系统内部和服务之间的内部交流接口 安全高效
- 查看主机ip地址
ip addr show eth0 查看网卡eth0下所有服务ip
ifconfig 查看正在使用服务ip - mac = media access control (传播通道控制)
- networkmanager管理网络的工具
2.DHCP网络ip配置
(1)图形界面配置nm-connection-editor(与之前设置静态ip地址类同,只是ip类型不同为DHCP动态获取)
systemctl restart network
(重启网络服务)
##(2)无图形工具配置 nmtui(操作与图形界面类似)
**注:
改变网络后需要systemctl restart network
若restart network 后ifconfig ip依旧未更改
则需要systemctl stop NetworkManger
当关闭此管理网络工具时 图形连接工具就不能使用了)
systemctl restart network
systemctl start NetworkManager
(若使用图形连接工具时NetworkManager必须为开启状态)
3.网络设定工具(临时设定 重启network服务恢复原来的设定)
(1)ping 检测网络是否连通
参数 | 作用 |
---|---|
-w | 设置ping的时间(秒为单位) |
-c | 设置ping的次数 |
- eg: ping -w 3 -c 10172.25.254.1 表示ping 172.25.254.1这台主机次3秒后停止
(2)ifconfig 查看或设定网络接口
命令 | 作用 |
---|---|
ifconfig | 查看网络接口及当前启用服务的ip |
ifconfig device ip/24 | 在固定接口下设定服务ip地址 |
ifconfig device down | 关闭网络接口device |
ifconfig device up | 启动网络接口device |
*注:此设定为临时设定 且设定ip地址会替换原先的ip不是在原先的基础上添加
(3)ip addr 检测或设定网络接口
命令 | 作用 |
---|---|
ip addr show | 检测主机上所有接口及接口下的ip |
ip addr add ip/24 dev device | 添加接口device下的ip服务 |
ip addr del dev device ip/24 | 删除接口device下的服务 |
ip addr flush dev device | 添加ip步骤1 |
ip addr add ip/24 dev device | 添加步骤2 |
*注:device是一个物理事实,命令中你所命名的device必须是你看到的。
4.文本设置网络
(1)网络配置文件路径为:/etc/sysconfig/network-scripts
(2)步骤:
1)cd /etc/sysconfig/network-scripts
2)vim ifcfg-xxx
文本中网络配置格式:
大写 = 小写
DEVICE=xxx(ip服务设备)
ONBOOT=yes|no(是否自动激活网卡)
BOOTPROTO=none|dhcp|static(配置启动方式)
IPADDR=x.x.x.x(设定ip地址)
PREFIX=24|NETMASK=255.255.255.0(子网掩码)
(注:PREFIX 只能跟24;NETMASK只能跟255.255.255.0)
NAME=xxx
3)systemctl restart network
-
示例:
-
(1)静态网络设定文件
1)vim /etc/sysconfig/network-scripts/ifcfg-xxx
DEVICE=eth0
ONBOO=yes
IPADDR=172.25.254.101
NETMASK=255.255.255.0
BOOTPROTO=none|dhcp|static
NAME=xxx
-
(2)一块网卡上配置多个IP
vim /etc/config/network-scripts/ifcfg-xxx
DEVICE=eth0
ONBOO=yes
IPADDR0=172.25.254.101
NETMASK0=255.255.255.0
BOOTPROTO=none|dhcp|static
NAME=xx
IPADDR1=1.1.1.101
PREFIX1=24
文本设置之后需要重启网络服务systemctl restart network
5.命令方式设定网络(永久设定)
nmcli (*NetworkManager必须开启)
网卡设定:
命令 | 作用 |
---|---|
nmcli device connect eth0 | 启动eth0网卡 |
nmcli device disconnect eth0 | 关闭eth0网卡 |
nmcli device show eth0 | 查看网卡信息(详细 ) |
nmcli dvice status eth0 | 查看网卡服务接口状态 |
网卡服务设定:
命令 | 作用 |
---|---|
nmcli connection show | 查看当前服务信息 |
nmcli connection down westos | 关闭westos服务 |
nmcli connection up westos | 开启westos服务 |
nmcli connection delete westos | 删除westos服务 |
nmcli connection add type ethernet con-name westos ifname eth0 ip4 x.x.x.x/24 | 在网卡eth0建立新服务westos |
nmcli connection modify westos ipv4.method auto | 修改westos服务的ip工作状态为dhcp动态获取 |
nmcli connection modify westos ipv4.method manual | 修改westos服务的ip工作状态为static静态 |
nmcli connection modify westos ipv4.addresses x.x.x.x/24 | 添加westos服务下的ip地址 |
6.虚拟机上网的实现
(1)在路由器上(双网卡真机充当路由器 假设真机主机ip为:172.25.254.1,外网ip为 1.1.1.101):
存在两个网卡
1)进行主机内核路由设置:
sysctl -a | grep if_forword
复制输出内容
vim /etc/sysctl.conf
编辑内容 将原先复制内容 粘贴让其=1
2)设置将防火墙的伪装功能开启:firewall-cmd --add-masquerade
(防火墙应该是开启状态)
用firewall-cmd --list-all
查看masquerade是否开启;若开启为yes
设置完之后需重启防火墙 systemctl restart firewalld
重新启动网络服务 systemctl restart network
(2)在客户机(虚拟机 ip地址为172.25.254.101)
vim /etc/sysconfig/network
在文本中添加网关,由于网关概念为在路由器中与本机ip处于同一网络段的ip,本机ip网段为172.25.254,故应编辑 GATEWAY=172.25.254.1
重启网络服务 systemctl restart network
(3)测试:
在虚拟机ping 172.25.254.1
看是否与真机通信 再ping 外网ip 此时还不能ping外网域名 因为还未配置DNS域名配置文件 但可以ping通外网ip
**常见问题:
(1)真机与虚拟机ping与网关无关,因为真机和虚拟机是直联网(概念知识:处于同一网络段的ip主机是可以相互通信的)
(2)真机与虚拟机ping不了的原因(排错步骤):
- 虚拟机与真机ip网段可能不一致
- 虚拟机配置文件出问题
- 网卡问题
(3)真机与虚拟机可以ping通但是不能ping外网 - 网关问题 检查网关
- 真机火墙内核设定出问题
(4)所有配置都正确网卡出问题后直接删除原先的网卡 重新配置
7.域名dns配置步骤:
(1)编辑本地解析文件 vim /etc/hosts
直接编辑ip与对应域名关系 不实用
(2)开启DNS域名解析主机服务(问题指向)
vim /etc/resolv.conf
编辑DNS指向文件
nameserver 114.114.114.114
(此ip为电信dns主机ip)
(3)通过配置文件文本设置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1|2|3 114.114.1114.114
(在配置文件中更改DNS后 DNS指向文件中也会自动添加指向)
DNS服务配置好之后 systemctl restart network
重启网络服务
8.系统遵循DNS配置文件的优先级的修改
vim /etc/nsswitch.conf
39 hosts dns files
*注:dns:代表 /etc/resolv.conf files:代表 /etc/hosts 谁的位置在前 谁的优先级就高
9.DHCP的桥接搭建
(1)服务端
下载安装好dhcp安装包后
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
将搭建配置模版复制到dhcp配置文件
对模版进行修改 删除27、28及35行以后的内容 对网关、域名等其他内容进行如下更改
systemctl restart dhcpd
重启dhcpd服务
(2)客户端
编辑网络配置文件 vim /etc/sysconfig/network-scirpts/idcfg-eth0
将BOOTPROTO=none 改为dhcp
重启网络服务systemctl restart network
(3)测试
在客户端ifconfig 看eth0的ip是否为dhcp配置文件中设置的ip范围之内的ip