红联Linux门户
Linux帮助

linux开启制作无线路由器(ubuntu 1404)

发布时间:2015-10-31 09:50:50来源:linux网站作者:linux_zhu

确定笔记本网卡支持 master 模式
执行 iw list  命令,执行结果中有下面的内容,说明这张网卡是支持做 ap 路由的(AP   AP/VLAN)

Supported interface modes: 
* IBSS 
* managed 
* AP 
* AP/VLAN 
* WDS 
* monitor 
* mesh point 
* P2P-client 
* P2P-GO 


开启 AP
安装 hostapd 软件包
apt-get install hostapd 
配置 hostapd (/etc/hostapd/hostapd.conf)
macaddr_acl=0  # 可选,指定MAC地址过滤规则,0表示除非在禁止列表否则允许,1表示除非在允许列表否则禁止,2表示使用外部RADIUS服务器; 
# accept_mac_file:指定允许MAC列表文件所在; 
# deny_mac_file:指定禁止MAC列表文件所在; 
auth_algs=1 # 采用 OSA 认证算法 
ignore_broadcast_ssid=0 
wpa=3   # 指定 WPA 类型 
wpa_key_mgmt=WPA-PSK 
wpa_pairwise=TKIP 
rsn_pairwise=CCMP 
wpa_passphrase=ap_password  # 连接 ap 的密码 
driver=nl80211  # 设定无线驱动 
interface=wlan0 # 接入点设备名称 
hw_mode=g   # 指定802.11协议,包括 a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g 
channel=9   # 指定无线频道 
ssid=ap_name# 连接 ap 的名字 
运行 hostapd
hostapd /etc/hostapd/hostapd.conf 
注意:此处可能会报错
Could not set interface wlan0 flags (UP): Operation not possible due to RF-kill
wlan0: Could not connect to kernel driver
Failed to set beacon parameters
wlan0: Could not connect to kernel driver
解决方法是执行下面的命令
rfkill unblock wifi 
运行 hostapd 后可以用手机看到 wifi 的 ap 了。


开启 ip 自动分配
安装 dhch server
apt-get install isc-dhcp-server 
修改配置 (/etc/dhcp/dhcpd.conf) 为
option domain-name-servers 211.161.45.222,10.141.146.10;# dns 服务器 
default-lease-time 3600;# 最小租约 3600 秒 
max-lease-time 7200;# 最大租约 7200 秒 
log-facility local7; 
subnet 192.168.1.0 netmask 255.255.255.0 {
range  192.168.1.77 192.168.1.99;   # ip 起始地址 
option broadcast-address 192.168.1.255; # 广播地址 
option routers 192.168.1.1; # 网关 要写成这台机器的 wlan0 的ip 

给 wlan0 添加 ip
ifconfig wlan0 192.168.1.1 
启动 dhcp server
dhcpd 
此时可以用手机连接到 ap,并得到分配到的 ip 地址。(要设置转发之后才能上外网)


配置 SNAT
打开 内核的 ip 转发功能
echo "1" > /proc/sys/net/ipv4/ip_forward 

vim /etc/sysctl.conf 
#添加或修改这样一段: 
net.ipv4.conf.default.rp_filter = 1 
#然后执行命令 
sysctl -p 
使用 iptables 设置转发
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE 
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT 
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT 
其中第一条表示将通过本机的转发数据包从eth0(外网)这个网卡发出去,另外两条表示只转发192.168.1.0/24这个网段过来的数据包,这个网段正好是wlan0其它设备连上本机以后分配的网段。


手机连接 ap 可以上网了。


Ubuntu搭建无线路由器:http://www.linuxdiyf.com/linux/6699.html

Fedora 17 x64连接wpa加密的无线路由器:http://www.linuxdiyf.com/linux/1054.html

使用Linux建立一个全功能路由器:http://www.linuxdiyf.com/linux/3145.html

Ubuntu搭建无线路由器:http://www.linuxdiyf.com/linux/6699.html

通过一个命令将Linux变成路由器:http://www.linuxdiyf.com/linux/7564.html