dhcp的安装与使用
dhcp的编译安装
解压源码:
tar zxvf dhcp-4.2.5-P1.tar.gz
cd dhcp-4.2.5-P1/
配置:
./configure --host=arm-linux ac_cv_file__dev_random=yes
修改Makefile:
cd bind
vim Makefile +55
添加配置 :
./configure BUILD_CC=gcc ac_cv_file__dev_random=yes --host=arm-linux --disable-kqueue
tar xzf bind.tar.gz
vim bind-9.8.4-P2/lib/export/dns/Makefile.in +169
修改CC :
${BUILD_CC} ${ALL_CFLAGS} ${LDFLAGS} -o $@ ${srcdir}/gen.c ${LIBS}
cd ../
make
make DESTDIR=$PWD/tmp install
复制应用程序、配置文件和脚本文件到根文件系统
cp ./client/scripts/linux /mnt/rootfs/etc/dhclient-script
vim /mnt/rootfs/etc/dhclient-script
将#!/bin/bash改成#!/bin/sh
chmod +x /mnt/rootfs/etc/dhclient-script
cd ./tmp/usr/local/
cp ./bin/* /mnt/rootfs/bin/
cp ./sbin/* /mnt/rootfs/sbin/
cp ./etc/dhclient.conf.example /mnt/rootfs/etc/dhclient.conf
cp ./etc/dhcpd.conf.example /mnt/rootfs/etc/dhcpd.conf
创建进程交互文件目录:
mkdir -p /mnt/rootfs/var/db/
touch /mnt/rootfs/var/db/dhclient.leases
touch /mnt/rootfs/var/db/dhcpd.leases
树莓派上安装DHCPD
sudo apt install udhcpd
sudo vim /etc/udhcpd.conf #修改DHCP池,DNS,网关地址
sudo vim /etc/default/udhcp #将DHCPD_ENABLE="no"注释,使能UDHCPD
sudo touch /var/lib/misc/udhcpd.leases
sudo systemctl restart udhcpd.service
工具使用
在这里的实验中的热插拔,由于我使用的是sdio接口wifi,直接使用mdev.conf中设备名直接使用wlan0貌似不好使,还没有找到原因(直接将设备名改为任意字符“.*”,本来想通过echo “$MDEV”,找到模块名,但竟然没有匹配上,非常有可能是驱动没有实现的问题),最后直接将auto_wifi_xx.sh脚本命令复制到rcS文件中运行算了,有待后续找到问题。
客户端:
最简单的就是打开网卡之后,使用dhclient wlan0获得ip、网关和DNS
dhclient -d wlan0 可以得到运行的调试信息
添加热插拔功能实现:
当插入网卡的时候,先执行wpa_supplicant连接热点,启动wpa_cli检测连接完成,然后执行脚本启动dhclient
vim /etc/mdev.conf
wlan0 0:0 777 * /etc/auto_wifi_sta.sh
vim /etc/auto_wifi_sta.sh
#!/bin/sh
if [ $ACTION = "add" ];
then wpa_supplicant -B -c/etc/wifi_pswd.conf -iwlan0wpa_cli -a/etc/wpa_action.sh -B
else killall wpa_supplicantkillall wpa_cli killall dhclient
fi
添加执行权限
chmod +x /etc/auto_wifi_sta.sh
一连接上WIFI AP, 就自动执行dhclient脚本:
vim /etc/wpa_action.sh
#!/bin/sh
IFNAME=$1
CMD=$2
if [ "$CMD" = "CONNECTED" ]; thenecho connect $IFNAME, dhclient for it > /dev/consoledhclient $IFNAME
fi
if [ "$CMD" = "DISCONNECTED" ]; thenecho disconnect $IFNAME, kill dhclient for it > /dev/consolekillall dhclient
fi
添加执行权限:
chmod +x /etc/wpa_action.sh
服务端:
最简单的命令,先在/etc/dhcpd.conf中添加一个可分配的网段,然后根据这个网段设置无线网卡的ip:
subnet 192.168.88.0 netmask 255.255.255.0 {range 192.168.88.150 192.168.88.200; option domain-name-servers 192.168.88.1; option routers 192.168.88.1;
}
ifconfig wlan0 192.168.88.1
dhcpd -cf /etc/dhcpd.conf wlan0
热插拔功能实现:
vim /etc/mdev.conf
wlan0 0:0 777 * /etc/auto_wifi_ap.sh
vim /etc/auto_wifi_ap.sh
#!/bin/sh
if [ $ACTION = "add" ];
thenecho -e "Hostapd AP Starting\n"hostapd -B /etc/hostapd.confifconfig wlan0 192.168.88.1dhcpd -cf /etc/dhcpd.conf wlan0
elseecho -e "Hostapd AP Closing.\n"killall hostapdkillall dhcpd
fi
添加执行权限:
chmod +x /etc/auto_wifi_ap.sh
dhcp的安装与使用相关推荐
- linux下DHCP的安装配置
今天在整理以前的资料的时候,看到了这篇过去积攒的资料,过程详细所以拿来给大家一块分享,同时我也在做,提高一下熟练度. [实验名称]Linux下DHCP服务的配置与安装 [实验拓扑] [实验目标] 了解 ...
- DHCP的安装与分配
工作任务描述 近来随着公司的业务不断增长,公司的规模也在一步一步的膨胀,计算机数量的增长非常明显,管理员几乎每天都在忙着为新员工手工做系统,分IP,将他们的主机连入网络,但时间一长,他们发现公司的IP ...
- linux 下DHCP的安装
今天与大家分享linux下是怎么样实现DHCP的 一.首先了解DHCP的概念 DHCP是实现主机IP地址DNS等动态配置的网络协议. DNCP可以在多种操作系统中实现,包括最常用的LINUX系统和WI ...
- DHCP的安装到简单测试(tar方式)
今天继续写一篇以tar方式安装DHCP服务器的文章.为什么用tar方式不用rpm,主要是因为我发现到网站上下载安装文件的时候,很难见到有最新rpm包的(等不及了,哈哈),况且网上有很多以rpm安装文章 ...
- kickstart+TFTP+PXE+NFS+DHCP批量安装系统,raid
服务端给工作站批量安装系统 通过PXE(预启动执行环境,通过网卡启动,网卡必须支持PXE技术)技术,支持工作站从远程服务器下载镜像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP ...
- linux dhcp rpm 安装
rpm –ivh dhcp-3.0.5-7.el5.i386.rpm //rpm安装DHCP的服务器端 cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.s ...
- linux的dhcp的安装,linux下DHCP的安装配置
一,首先是安装DHCP的rpm包 ,然后配置下列文档,如在10.255.6.0子网掩码是255.255.255.0 的 DHCP的配置文档/etc/dhcpd.conf =============== ...
- 详解DHCP服务安装与管理
一.DHCP是什么 名称:DHCP – Dynamic Host Configuration Protocol 动态主机配置协议 功能:DHCP(Dynamic Host Configuration ...
- linux配置PXE+DHCP批量安装操作系统
PXE(preboot execute environment,预启动执行环境) 如果只有一两台电脑要装系统,我们可以使用光盘或者U盘装系统,假如有成百上千台电脑需要装操作系统,如果还用光盘U盘的方式 ...
最新文章
- java.lang.Class
- 利用隐藏神经元解决异或问题的小型示例程序
- mysql自动异地备份脚本_MYSQL数据库自动本地/异地双备份/MYSQL增量备份
- python可以实现什么黑科技_Python黑科技之元类
- Tomcat : IOException while loading persisted sessions: java.io.EOFException
- 常用正则表达式和shell命令列表
- java周期_java 周期时期计算
- mysql基本常用命令
- 通过CrawlSpider对招聘网站进行整站爬取(拉勾网实战)
- TCP/UDP套接字网络协议
- 日语阅读-1-如何看ほう的用法
- easypoi 语法_知识点总结及语法学习资料及视频
- python:画混淆矩阵
- oracle 进入empt,关于redhat6.2静默安装oracle11g出现的问题 大神救命
- 远程桌面无法连接解决方法
- 15b万用表怎么测电容_怎么判断启动电容好坏_启动电容怎么测量好坏_数字万用表测电容好坏...
- NetWare 客户服务禁用了欢迎屏幕和快速切换恢复方法
- ⻦哥的LINUX私房菜 学习
- 雾霾、压力、不良习惯对肌肤的4大危害
- Leetcode. Largest Rectangle in Histogram