免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4393 | 回复: 7
打印 上一主题 下一主题

[网络管理] 我用linux做WIFI热点,为什么手机能连上却上不了网? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-29 04:22 |只看该作者 |倒序浏览
本帖最后由 cnlong_cu 于 2014-04-29 04:27 编辑

wlan0 是一张大功率网卡,已经正常接入互联网,用一个小网卡wlan1做一个热点,以利于同屋内手机上网。
wlan0 地址是192.168.1.120, wlan1手动指定IP 192.168.2.1。

我的hostapd.conf文件,hostapd正常启动,不加密。
#
ssid=myap
hw_mode=g
channel=10
interface=wlan1
bridge=br0
driver=nl80211
ignore_broadcast_ssid=0
#macaddr_acl=0
#accept_mac_file=/etc/hostapd.accept
#deny_mac_file=/etc/hostapd.deny
#不加密
#
auth_algs=1
#
wep_default_key=1

我的dhcpd.conf :
# dhcpd.conf
#
# Configuration file for ISC dhcpd (see 'man dhcpd.conf')
#
ddns-update-style interim;
ignore client-updates;
option routers 192.168.2.1;
option domain-name-servers 202.99.166.4,8.8.8.8;
subnet 192.168.2.0 netmask 255.255.255.0{
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
range 192.168.2.100 192.168.2.200;
}

IPTABLES 规则:
iptables -A INPUT -i wlan1  -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0  -s 192.168.2.0 -j MASQUERADE
#接受处理连接状态的数据包
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#对外网的数据包实行Ip伪装
iptables -t nat -A POSTROUTING -o wlan1  -j MASQUERADE
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -j ACCEPT

注:手机可以正常接入这个热点,可以获取到IP地址,就是上不了网,打不开网页,我想大概是问题出在iptables上,但是看不出哪里的问题。

论坛徽章:
0
2 [报告]
发表于 2014-04-29 12:29 |只看该作者
可以用brctr将wlan0 ,wlan1桥接 ,不必用iptables

论坛徽章:
0
3 [报告]
发表于 2014-04-29 19:39 |只看该作者
回复 2# skylu80

我希望iptables可以解决这个问题。


   

论坛徽章:
0
4 [报告]
发表于 2014-04-29 20:54 |只看该作者
本帖最后由 skylu80 于 2014-04-29 20:59 编辑

iptables -t nat -A POSTROUTING -o wlan0  -s 192.168.2.0 -j MASQUERADE
改成:
iptables -t nat -A POSTROUTING -i wlan1 -s 192.168.2.0 -j MASQUERADE
因为192.168.2.0网段的不知道怎么走外网,估计你没添加路由的,但是1.0网段的知道怎么走外网


至于下面两句我觉得没必要写
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -j ACCEPT

论坛徽章:
0
5 [报告]
发表于 2014-04-29 21:03 |只看该作者
回复 4# skylu80


POSTROUTING 不能和 "-i"在一起用的。

你说的没添加路由,能说的具体点吗?
route -n 显示如下:
Kernel IP routing table
Destination     Gateway         Genmask              Flags  Metric  Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0          U      0       0        0 wlan1
192.168.1.0     0.0.0.0         255.255.255.0          U      0       0        0 wlan0
127.0.0.0       0.0.0.0         255.0.0.0                    U      0       0        0 lo
0.0.0.0         192.168.1.1     0.0.0.0                      UG   0       0        0 wlan0

论坛徽章:
0
6 [报告]
发表于 2014-04-29 21:07 |只看该作者
我现在电脑用wlan0正常上网,wlan0 地址 192.168.1.120 从上一级无线路由器那里获取的地址。

wlan1 手动指定了 192.168.2.1 ,dhcpd.conf 应该没什么问题吧?手机正常连入,从电脑这里获取了地址 192.168.2.100,但是就是上不了网。

论坛徽章:
0
7 [报告]
发表于 2014-04-29 21:16 |只看该作者
本帖最后由 skylu80 于 2014-04-29 21:17 编辑

因为照你的想法,下面通过wlan1连上来的是知道怎么走外网,但是数据回来,他不知道怎么走了,因为默认网关是192.168.1.1,2.0网段的不知道怎么走了

论坛徽章:
0
8 [报告]
发表于 2014-05-02 03:04 |只看该作者
今天莫名甚妙地成功了,也没作大的改动,不知道为什么,做个记录:
hostapd.conf内容:
#
ssid=myap
hw_mode=g
channel=9
interface=wlan1
driver=nl80211
ignore_broadcast_ssid=0
macaddr_acl=0
auth_algs=1
#
#
   dhcpd.conf内容:
#
INTERFACES="wlan1";
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.2.0 netmask 255.255.255.0{
option routers 192.168.2.1;
option domain-name-servers 202.99.166.4,202.99.160.68;
option broadcast-address 192.168.2.255;
range 192.168.2.100 192.168.2.200;
}
#
#

配置好了,然后是运行:
hostapd /usr/etc/hostapd.conf
dhcpd -cf /etc/dhcpd.conf wlan1
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

竟然能上网了,不知道当初问题出在哪里。


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP