DHCP 和 DHCP-Realy 功能演示完整示例

DHCP 原理详解

链接:DHCP 原理详解(包括安装和示例)

DHCP 和 DHCP-Realy 功能演示完整示例

1、组网拓扑和需求

  • 搭建 DHCP 服务,为局域网内用户提供10.1.1.0/24网段的IP,且租约期默认为48小时
  • 实现 DHCP 中继。别为的网路实现地址分配

在这里插入图片描述

2、DHCP Server 配置

2.1 配置 VMnet 19 的网关地址

### 安装 DHCP ###
[root@Tang-Neo ~]# yum install dhcp -y

### 查看网卡地址 ###
[root@Tang-Neo ~]# ifconfig ens37 
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.1.1  netmask 255.255.255.0  broadcast 10.1.1.255
        ether 00:0c:29:b3:37:7c  txqueuelen 1000  (Ethernet)
        RX packets 2264  bytes 223146 (217.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 746  bytes 88885 (86.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2.2 安装 DHCP 并修改配置文件


### DHCP CONF 配置文件 ###
[root@Tang-Neo ~]# cat /etc/dhcp/dhcpd.conf 
option domain-name "neotang.com";

default-lease-time 172800;
max-lease-time 172800;

log-facility local7;

subnet 10.1.1.0 netmask 255.255.255.0 {
           # 定义子网
	range 10.1.1.2 10.1.1.50;                  # 网段范围
	option domain-name-servers 10.1.1.1;       # 注意两个子网的域名服务器需要配一致,也可配置在全局里
	option routers 10.1.1.1;                   # 网关地址
}

subnet 10.1.2.0 netmask 255.255.255.0 {
           # 定义子网
        range 10.1.2.2 10.1.2.50;              # 网段范围
        option domain-na
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,对于你的需求,可以通过在微信小程序中使用canvas来实现。你需要在canvas上绘制平面图,并且实现缩放和定位功能。具体步骤如下: 1. 在微信小程序的wxml文件中添加canvas组件,并设置宽高和id: ``` <canvas canvas-id="myCanvas" style="width: 100%; height: 100%;"></canvas> ``` 2. 在js文件中获取canvas的上下文,并且绘制平面图: ``` const ctx = wx.createCanvasContext('myCanvas'); ctx.drawImage('path/to/image.png', 0, 0, canvasWidth, canvasHeight); ``` 3. 实现缩放功能。可以通过使用touchstart、touchmove和touchend事件来实现: ``` let distance = 0; let scale = 1; let touchNum = 0; let touchX = 0; let touchY = 0; canvas.addEventListener('touchstart', (e) => { touchNum = e.touches.length; if (touchNum === 2) { distance = Math.sqrt(Math.pow((e.touches[0].clientX - e.touches[1].clientX), 2) + Math.pow((e.touches[0].clientY - e.touches[1].clientY), 2)); touchX = (e.touches[0].clientX + e.touches[1].clientX) / 2; touchY = (e.touches[0].clientY + e.touches[1].clientY) / 2; } }); canvas.addEventListener('touchmove', (e) => { if (touchNum === 2) { let newDistance = Math.sqrt(Math.pow((e.touches[0].clientX - e.touches[1].clientX), 2) + Math.pow((e.touches[0].clientY - e.touches[1].clientY), 2)); scale = scale * (newDistance / distance); distance = newDistance; ctx.translate(touchX, touchY); ctx.scale(scale, scale); ctx.translate(-touchX, -touchY); ctx.drawImage('path/to/image.png', 0, 0, canvasWidth, canvasHeight); } }); canvas.addEventListener('touchend', (e) => { touchNum = e.touches.length; }); ``` 4. 实现定位功能。可以通过在canvas上添加点击事件来实现: ``` canvas.addEventListener('tap', (e) => { let x = e.touches[0].clientX; let y = e.touches[0].clientY; // 根据点击的坐标计算出在平面图上的实际坐标 let realX = x / scale - touchX / scale; let realY = y / scale - touchY / scale; // 在canvas上绘制标记 ctx.beginPath(); ctx.arc(x, y, 5, 0, 2 * Math.PI); ctx.fillStyle = 'red'; ctx.fill(); ctx.closePath(); ctx.drawImage('path/to/image.png', 0, 0, canvasWidth, canvasHeight); }); ``` 这样就可以实现在微信小程序中使用坐标定位平面图中的某个点,并且还能缩放了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值