在ubuntu主机上安装hostapd,让手机可以共享上网,
ubuntu主机有2个网卡

eth0: (可以上公网)
IP:动态wlan0:(不能上公网,在这个接口上安装hostapd)
IP:192.168.5.1/24

1、安装hostapd

sudo apt install hostapd

升级hostapd(可以不用升级)

git clone git://w1.fi/srv/git/hostap.git
cd hostap/hostapd
cp defconfig .config
make
sudo cp hostapd /usr/sbin/hostapd

2、配置hostapd

新建/etc/hostapd/hostapd.conf

interface=wlan0
driver=nl80211
ssid=TP-LINK_TEST  #热点名称
channel=10
hw_mode=g
wpa=3
wpa_passphrase=12345678 #无线密码
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
ignore_broadcast_ssid=0 #0:显示热点名称 1:隐藏热点名称

使用vi /etc/init.d/hostapd对该文件进行编辑,修改内容如下

DAEMON_CONF="/etc/hostapd/hostapd.conf"

不让NetworkManager管理无线设备, c8:3a:35:cb:18:e0是wlan0的mac地址

sed -i '/\[keyfile\]/a unmanaged-devices=mac:c8:3a:35:cb:18:e0' /etc/NetworkManager/NetworkManager.conf
sudo systemctl restart NetworkManager.service

3、启动hostapd

sudo systemctl start hostpad.serive

如果hostapd开启正常,手机上就能看到TP-LINK_TEST这个热点,连接时发现他不能获取IP,那是UBUNTU上没安装dnsmasq软件,这里就不说明了,我们在手机上直接设置静态IP

IP: 192.168.5.11
网关:192.168.5.1
DNS:8.8.8.8

4、NAT共享网络

配置wlan0的IP

sudo ifconfig wlan0 192.168.5.1/24

启用路由转发,编辑/etc/sysctl.conf 文件,删除起始的“#”,解除

net.ipv4.ip_forward=1

的注释。然后使其生效:

sudo sysctl -p

配置NAT规则

sudo iptables -A FORWARD -o eth0 -i wlan0 -s 192.168.5.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

第一条规则允许转发初始网络包,第二条规则允许转发已经建立连接后的网络包,第三条则设置NAT。

5、保存iptables规则

sudo iptables-save > /etc/iptables.rules

iptables.rules内容

# Generated by iptables-save v1.6.0 on Tue Mar 22 14:32:46 2022
*nat
:PREROUTING ACCEPT [18938:1823629]
:INPUT ACCEPT [12879:1428924]
:OUTPUT ACCEPT [9504:655878]
:POSTROUTING ACCEPT [2629:186085]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Mar 22 14:32:46 2022
# Generated by iptables-save v1.6.0 on Tue Mar 22 14:32:46 2022
*filter
:INPUT ACCEPT [1178226:592266889]
:FORWARD DROP [1500:70910]
:OUTPUT ACCEPT [1556034:1578549464]
-A FORWARD -s 192.168.5.0/24 -i wlan0 -o eth0 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Mar 22 14:32:46 2022

然后新建一个bash脚本(名字随便),并保存到/etc/network/if-pre-up.d/目录下:

#!/bin/bash
iptables-restore < /etc/iptables.rules

这样,每次系统重启后iptables规则都会被自动加载。
不要尝试在.bashrc或者.profile中执行以上命令,因为用户通常不是root,而且这只能在登录时加载iptables规则。

附:
hostapd重启方法

sudo service hostapd stop
sudo ifconfig wlan0 down
sudo nmcli radio wifi off
sudo rfkill unblock wlan
sudo ifconfig wlan0 192.168.5.1/24 up
sleep 1
sudo service hostapd restart

ubuntu上hostapd共享上网相关推荐

  1. ubuntu双网卡共享上网

    学校使用锐捷2.56认证,固定IP. 本机双网卡,eth0连接外网.eth1内网接路由. 使用mystar代替锐捷2.56. 1.IP的设置: sudo gedit /etc/network/inte ...

  2. 在安装了zonealarm的机器上实现共享上网

    在安装了zonealarm的机器上设置了internet连接共享,实现共享上网的时候会发现无法共享上网,把zonealarm关闭了就可以.原因是zonealarm默认情况下不设置为支持NAT/ICS( ...

  3. Ubuntu双网卡共享上网 外网 内网

    资源: 网卡两块:eth0,eth1;一个带有web登录服务器方式的静态ip,ubuntu9.04. 目标: 实现eth0外网,eth1内网. 参考: ============参考1========= ...

  4. 如何在ubuntu上使用校园网上网

    我的电脑系统是ubuntu的,学校网络的是需要一个终端的,利用这个终端输入学号,密码就可以连接网络了,或者在window的我的网络连接中使用学号密码的. 但是这两个在ubuntu下环境下直接等于跳过了 ...

  5. 两块网卡实现多台机器共享上网

    组建局域网内部网络,遇到的问题:购买电信的宽带,多人拨号肯定是不行的(貌似同时超过4台机器拨一个号就自动被断开网络了). 使用一些软件共享上网觉得既然是人家开发的软件,不太放心里面加了什么代码会监控这 ...

  6. ubuntu 上tp-link无线网卡驱动安装

    为了使安装了ubuntu系统的台式机能够链接无线网络,购买了USB 无线网卡,当然无线网卡分为很多品牌,这里介绍两种: 1. 磊科:无需安装驱动,在ubuntu上直接可以上网: 2. TP-LINK: ...

  7. ubuntu借助windows的网络共享上网

    ubuntu借助windows的网络共享上网 最近因工作需要又组装了一台电脑,装的是ubuntu.但是在公司申请上网权限比较慢,于是想借助工作机(windows)为ubuntu提供网络.下面是具体方法 ...

  8. UBUNTU 11.10 (32位)双网卡 NAT 实现局域网共享上网

    1.目的: 使用ubuntu11.10 双网卡 实现局域网共享上网 2.环境: 双网卡. ubuntu11.10  3.网卡信息:  3.1 内网网卡 IP 10.10.10.1 eth0 3.2 外 ...

  9. ubuntu单网卡NAT配置局域网共享上网

    方法一.参考http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=173174 成功(不推荐,非校园vpn上网可行) Ubuntu局域网单网卡Nat共 ...

最新文章

  1. 南京大学计算机考研机试,2018南大CS考研机试答案
  2. 转贴:雅虎公司C#笔试题,看看你能解答多少
  3. android-解决 Android N 上 报错:android.os.FileUriExposedException
  4. 深度学习核心技术精讲100篇(六十二)-DQN 的三种改进在运筹学中的应用
  5. python全球购代码_理解python的unicode字符串
  6. go编译库给c语言函数返回值,go语言 函数return值的几种情况
  7. 树上倍增求LCA详解
  8. 漫画:什么是二分查找?
  9. Linux网络监控工具nethogs
  10. caffe安装_【开源框架】caffe图像分类从模型自定义到测试
  11. Linux专题_行编辑
  12. 结合地理信息系统开发的项目
  13. 第二十八篇 闭包函数
  14. 学习WPF绝佳的去处……WPF教程,WPF入门教程,WPF视频教程
  15. 闪电侠第四季/全集The Flash迅雷下载
  16. 记录一下向npmjs上发布包遇到的坑
  17. centos/redhat kernel-debug-info-xx.rpm与kernel-debuginfo-xx.rpm区别
  18. 手机连接电脑不读手机的终极解决方案
  19. 多个中通快运的物流情况是怎么批量查询并保存到电脑的
  20. 《自然语言处理学习之路》 13 RNN简述,LSTM情感分析

热门文章

  1. 关于对英文日期进行格式
  2. 2022-2028年全球与中国紫外线(UV)传感器行业竞争格局与投资战略研究
  3. 【解决】Exception in thread main java.io.IOException: Nameserver not responding on 127.0.0.1
  4. 案例 :探索性文本数据分析的新手教程(Amazon案例研究)
  5. 美通企业日报 | 京沪深中高端人才月薪超2万;天津首家戴森官方体验店开幕
  6. 【话题讨论】-浅谈VR与AR
  7. 制作启动盘及安装系统
  8. 小学生 学计算机通信 知识,小学通信知识ppt
  9. 中国护士总量严重不足 “滴滴打针”会是水中捞月吗?
  10. ae导出gif插件_GifGun插件|Aescaripts GifGun(ae输出gif插件)下载v1.7.7免费版 - 欧普软件下载...