##linux网络设定 CSMA/CD/ 载波侦听多路访问/冲突检测 ip地址的两个信息 网络中表示主机:网络位(区域):主机位 同一个网络位可以交流 网络地址是2进制32位,2进制转换10进制 254.254.254.254=11111110.11111110.11111110 8bit=1byte 32/8=4 172.25.0.11/24=172.25.0.11/255.255.255.0 24为子网掩码表示前三位都是1 子网掩码为网络区域范围,24为0-256(2的8次方) ##网络设定方式 图形方式:
1:nm-connection-editor 2:nmtui文件方式:
cd /etc/sysconfig/network-scripts vim ifcfg-eth0 #ifcfg-xxx,控制eth0网卡,xxx写eth0,也可以自定义名称。以下三个操作全在ifcfg-eth0中编辑: 1、动态网络设定文件: DEVICE=eth0 #设备名称eth0,网卡为eth0,DEVICE=eth0,不可自定义写。 ONBOOT=yes #网络服务开启自动激活网卡 BOOTPROTO=dhcp #网卡工作方式为dhcp 重启 systemctl restart network 查看ip ifconfig eth0 2、静态网络设定文件: DEVICE=eth0 #设备名称 ONBOOT=yes #网络服务开启自动激活网卡 BOOTPROTO=none #设备工作方式为无 IPADDR=172.25.254.212 NETMASK=255.255.255.0 #子网掩码 重启 systemctl restart network 查看ip ifconfig eth0 如图: 3、 eth0网卡配置多个IP: DEVICE=eth0 #设备名称 ONBOOT=yes #网络服务开启自动激活网卡 BOOTPROTO=none #设备工作方式为无 IPADDR0=172.25.254.212 NETMASK0=255.255.255.0 #子网掩码 IPADDR1=1.1.1.100 PREFIX1=24#子网掩码 重启 systemctl restart network 查看一个网卡下多个ip: ip addr show eth0 如图: 注意:在cd /etc/sysconfig/network-scripts中只能存在一个ifcfg-eth0,多余的ifcfg-XXX会导致重启失败(除了ifcfg-lo),一个网卡只能有一个配置文件ifcfg-eht0,不能有没有用的文件。 ##网络设定工具
ping #检测网络与目的地是否通畅 -c 1 #ping 1 次 -w 1 #如果ping不通需要等待时间较长,因此设定等待时间为1s,将时间缩短ping ping -c1 -w1 ip #ping 1次等待1s如图:
ifconfig 临时查看或设定网络接口,if:interface ifconfig device ip netmask 255.255.255.0#设定本机ip,本机为eth0,device写eth0 ifconfig device down #关闭device,同网络位的其他ip不可以ping通device下的ip ifconfig device up #开启网络device注意:ifconfig的修改ip是临时的,systemctl restart network #重启服务恢复原设定值,如果重启服务未恢复原来的ip,先用命令:systemctl stop NetworkManager ,以及检查ifcfg-xxx内DEVICE=eth0是否正确,再将整个实验重新做一遍即可。 如图:
ip addr show #查看所有网络接口 ip addr add ip/24 dev eth0 #添加eth0下的ip ip addr del dev eth0 ip/24 #删除eth0下的ip ip addr flush eth0 #刷新重加载(所有在eth0下的ip addr add 设定会清除)注意:ip addr 的add ip是临时的,systemctl restart network #重启服务ip恢复原设定值,如果重启服务未恢复,先用命令:systemctl stop NetworkManager ,以及检查ifcfg-xxx内DEVICE=eth0是否正确,再将整个实验重新做一遍即可。 如图: ##命令方式设定网络 NetworkManager提供图形工具: 使用命令systemctl stop NetworkManager.service之后,nnm-connection-editor打开后不显示,无法用图形工具设定网络 NetworkManager提供nmcd:
参数connection: nmcli connection show 查看网卡连接信息 nmcli connection delete “name” 删除网卡连接 nmcli connection add type ethernet con-name scq ifname eth0 ip4 172.25.254.212/24 #添加静态网卡 nmcli connection add type ethernet con-name scq ifname eth0 autoconnect yes ##添加动态网卡如图: 动态改为静态步骤: 先修改ip
nmcli connection modify scq ipv4.addresses 172.25.254.212/24 #将ip写到文件ifcfg-eth0中 nmcli connection modify scq ipv4.method manual systemctl restart network ifconfig eth0如图: 静态改为动态网卡:
nmcli connection modify scq ipv4.method auto systemctl restart network ifconfig eth0如图:
nmcli connection down scq 关闭eth0中scq的ip,ifconfig eth0看不到scq的ip ifconfig eth0 无法看到ip nmcli connection up scq #打开scq,ifconfig eth0看到scq的ip ifconfig eth0 可以看到scq的ip如图:
nmcli connection show #查看已连接的网卡 nmcli connection delete uuid xxx #当建立正确和错误的相同网卡名时,单独删除错误的网卡名uuid,保留正确的网卡名注意:ifname scq只能有一个连接,如果建立多个相同scq连接,nm-connection-editor scq后显示never ,表示不启用,需要用delete uuid 删除 如图:
参数device: nmcli device disconnect eth0 #ifconfig不显示eth0的ip nmcli device connect eth0 #启用eth0网卡 nmcli device show eth0 #查看eth0网卡信息 nmcli device status eth0 #查看网卡服务接口详细信息如图:
##回环接口:人的神经 ###路由器及网关的解释 问题: 1.1.1.100 ----> 172.25.254.11 网络位不一致的主机不可以直接通信,因此无法连接 中间人路由器: 拥有两块网卡:1.1.1.200 与 172.25.254.111,且1.1.1.200 与 172.25.254.111在同一个内核上,此内核可以让不同网络位的网卡直接通信,路由器是把一个不可以到达目的地的ip转换为可以到达目的地的ip的主机 路由器内进行:网络地址转换,即1.1.1.1.100 —> 172.25.254.111 网关:将1.1.1.100与1.1.1.200连接进行网络地址转换,与路由器且网络位相同的ip 路由器:把不可以到达的主机变成可以到达的ip,拥有双网卡 ##网关实验环境设定 设置静态单网卡:在server下编辑 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #设备名称 ONBOOT=yes #网络服务开启自动激活网卡 BOOTPROTO=none #设备工作方式为无 IPADDR=1.1.1.100 NETMASK=255.255.255.0 #子网掩码 或图形编辑设置ip 如图: desktop下设置双网卡当作路由器: 添加一个网卡:在真机下virt-manager 点击desktop > 小灯泡 > Add Hardware >Network > Device model > virtio 如图: 在desktop下编辑文件vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #设备名称 ONBOOT=yes #网络服务开启自动激活网卡 BOOTPROTO=none #设备工作方式为无 IPADDR=1.1.1.200 NETMASK=255.255.255.0 #子网掩码 vim cd /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 #设备名称 ONBOOT=yes #网络服务开启自动激活网卡 BOOTPROTO=none #设备工作方式为无 IPADDR=172.25.254.111 NETMASK=255.255.255.0 #子网掩码 或图形下设置两个ip ifconfig 查看两个网卡和ip 如图: #将双网卡主机desktop设置为路由器: 开启内核路由功能:使插在同一个内核上的两个网卡直接通信
sysctl -a | grep ip_forward显示:net.ipv4.ip_forward=0 #未开启
vim /etc/sysctl.conf 编辑:net.ipv4.ip_forward=1sysctl -p ##使/etc/sysctl.conf生效 显示:net.ipv4.ip_forward=1 #开启 火墙打开地址伪装功能:查看被连接情况时ip网络位与本机相同
systemctl status firewalld #查看防火墙状态 firewall-cmd --permanent --add-masquerade #打开地址伪装功能 firewall-cmd --reload #加载 firewall-cmd --list-all #查看显示:masquerade yes #地址伪装功能已打开 如图: 在单网卡server下设定指定网关:让单网卡server可以连接到路由器上,已知serverip网络位为1.1.1,和路由器处于同一网络位的ip为网关 #设定网卡网关:当主机有多个网卡时,针对写在网卡文件下的网卡生效 vim cd /etc/sysconfig/network-scripts/ifcfg-eth0 编辑:GATEWAY=1.1.1.200 #GATEWAY后是否跟数字参照IPADDR,表示将serverip传给路由器ip:1.1.1.200 systemctl restart network route -n #查看网关 此时,serverip1.1.1.100可以ping 172.25.254.111 如图: 设定全局网关,针对所有没有设定网关的网卡生效: vim /etc/sysconfig/network 编辑:GATEAY=1.1.1.200 测试: 在单网卡server上ping 172.25.254.11,可以ping通 登陆:ssh root@172.25.254.11 在172.25.254.11下查看被登陆: w -i 显示连接ip为: 172.25.254.111 真实serverip为:1.1.1.100 如图: 操作案例:##虚拟机desktop通过真机访问114.114.114.114 则真机为路由器,真机ip为172.25.254.250,真机可以访问114.114.114.114 desktop下设置1个网卡eth1 编辑文件vim ifcfg-eth1 IPADDR =172.25.254.112 GATEWAY=172.25.254.250(GATEWAY后是否跟数字看IPADDR,网关为真机ip) systemctl restart network ping 114.114.114.114 #可以ping通 #地址解析:访问域名转换为对应ip 两种方式: 1、本地解析:告诉电脑域名对应的ip 编辑文件:vim /etc/hosts ip www.baidu.com 弊端:需要知道每一种域名对应ip才可以访问此域名,需要客户输入。 2、dns#域名解析服务 dns:对客户提供地址功能解析的服务器 dns指向文件: /etc/resolv.conf nameserver 114.114.114.114 #客户端输入域名,114.114.114.114 找域名对应的ip, 并指向访问ip,客户端直接显示网站 ##优先级:默认本地解析文件高于dns指向文件 改变优先级:编辑文件:vim /etc/nsswitch.conf 39行 dns files #dns 高于 files ##固定dns指向 #静态网络固定dns,由于重启服务后写入 /etc/resolv.conf的dns指向会改变,说明 /etc/resolv.conf受ifcfg-xxx文件的影响 步骤:
vim ifcfg-eth1 DNS1=114.114.114.114(dns后一定要有数字) 重启服务测试:cat /etc/resolv.conf 如图: ##动态网络固定dns
vim ifcfg-eth0 peerdns=no 重启服务 vim /etc/resolv.conf nameserver=114.114.114.114测试:cat /etc/resolv.conf 如图: 注意:cat /etc/resolv.conf 中 一直存在 nameserver=114.114.114.114 需要:systemctl restart NetworkManager ##动态网络ip的分配 1、dhcp服务的安装 真机下将dhcp安装包拷到虚拟机下 cd /home/kiosk/Desktop scp dhcp-4.2.5-27.el7.x86_64.rpm root@172.25.254.112:/root/Desktop desktop下: 点击安装即可 2、dhcp服务的基本配置 desktop下: 一:查看dhcp状态: systemctl status dhcpd #inactive关闭状态
二:cd /etc/dhcp > vim dhcpd.conf > cp /usr/share/doc../..example dhcpd.conf #复制模板到dhcpd.conf中vim dhcpd.conf #开始编辑文件步骤: 1:将重复内容27、 28 35行删掉 2:编辑第2行: name-servers 114.114.114.114 #给客户主机分配的dns 最后一段:subnet 172.25.254.0 netmask 255.255.255.0 #网络段与子网掩码 range 172.25.254.70 172.25.254.80 (给server ip的范围) option routers 172.25.254.250;(给客户的网关为172.25.254.250,让server可以连接desktop得到desktop给server在range内的ip) 如图:
server下: 设置一个动态网络:编辑文件vim ifcfg-eth1
测试: 在server下重启发现无法重启:由于当前环境没有dhcp分配ip,因此不能重启服务。 在desktop下:systemctl restart dhcpd 在server下重启服务成功,且获得了desktop提供的ip、网关、dns