Ubuntu DHCP服务以及NET网桥的配置
项目成功实现了允许多密钥同时接入AP,由于需要配置一下DHCP服务和网桥保证STA连接后可以正常使用,以便于后面进行权限的控制。
准备工作
- Ubuntu 14.04
- hostapd
- isc-dhcp-server
安装isc-dhcp-server:
sudo apt-get install isc-dhcp-server
开始配置
创建软AP
进入hostapd目录,执行以下命令运行hostapd:sudo ./hostapd hostapd.conf
如果开启的时候,提示interface wlan0 wasn’t start,是因为你的wlan设备没有打开的原因。无线设备一般有三种状态,使用中,软锁定和硬锁定。其中软锁定就是关闭但可被软件激活,硬锁定则不可以。 输入下面两句命令,先关闭wifi,再软锁定wlan,最后重新打开hostapd即可。
sudo nmcli nm wifi off
(ubuntu14里面使用)sudo nmcli radio wifi off
(ubuntu18里面使用)
sudo rfkill unblock wlan
开启DHCP服务
我们需要配置/etc/dhcp/dhcpd.conf文件,添加要分配的网段,指明分配的地址范围,默认网关和DNS服务器地址。在文件最后我们添加以下内容。注意要分配的网段不能和主机eth0所处的网段相同。(我的主机处在192.168.52.140,所以我下面挑的是192.168.0.2/24这段地址。)
1 |
|
然后我们配置无线接口wlan2所处的网段,注意要跟上面的配置一致:sudo ifconfig wlan2 192.168.0.1 netmask 255.255.255.0
最后开启dhcp服务器即可:sudo service isc-dhcp-server start
开启NET
SNAT,Source Network Address Translation
源地址转换,能够为内部客户端代理访问外部网络。目标地址和端口不变,源地址修改成对外可见的公网地址,端口随机生成,并将映射记录在NAT表中。当数据返回时,根据端口将目的地址修改成对应表项的IP地址和端口,这样可以解决多个设备共享一个公有IP上网的问题。
在这里,我们要用到的是SNAT,这可以借助iptables工具来实现。iptables能够帮助我们配置管理linux内部防火墙。我们首先打开转发功能,然后将192.168.52.140的地址修改为eth0的出口地址。然后还要改/etc/sysctl.conf
net.ipv4.ip_forward=1这行的注释去掉
1 |
|
到此就完成了DHCP与NET的配置。