树莓派共享以太网口上网

1. 环境

所处的环境有可以连接因特网的wifi网络,树莓派可以通过wifi上网。

2. 诉求

将树莓派的以太网口共享出来,其他带以太网口的PC或单片机等可以通过网线直连树莓派的以太网口来上网。可以看做是把树莓派配置成单以太网接口的有线路由器或wifi中继。

注意:并非是将树莓派配置成wifi路由器,网络拓扑与本文描述正好是相反的:


上图左边是树莓派作为wifi路由器的网络拓扑,右边则是本文要构造的网络拓扑。

3. 步骤

3.1 打开内核的网卡转发能力

编辑/etc/sysctl.conf文件:

net.ipv4.ip_forward=1

将此行取消注释(删掉最前面的#)。

使配置生效:

sudo sysctl -p

3.2 配置防火墙

配置防火墙,启用NAT,在wlan0接口上启用IP伪装:

sudo iptables -F

sudo iptables -P INPUT ACCEPT

sudo iptables -P FORWARD ACCEPT

sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

注意这一步执行后,一定要将配置持久化,否则下次开机启动后

配置会失效,导致虽然共享网口的主机可以dhcp获取地址却无法上网。

防火墙配置持久化:

1. 导出防火墙配置并存到/etc目录下

sudo iptables-save > nat.rule

sudo mv nat.rule /etc

2. 添加开机启动

新建/etc/network/if-pre-up.d/iptables文件,内容如下:

#!/bin/bash

/sbin/iptables-restore < /etc/nat.rule

该文件在网络启动时会被调用,通过iptables-restore恢复之前保存的配置。

别忘记了添加可执行权限:

sudo chmod 755 /etc/network/if-pre-up.d/iptables

3.3 配置树莓派DHCP服务

3.3.1. 安装DHCP服务

sudo apt-get install isc-dhcp-server

3.3.2. 配置树莓派以太网卡

此网络拓扑下,我们是将树莓派的以太网卡当做路由器(网关)使用,简单起见我们将树莓派的以太网卡ip地址指定为192.168.1.1。

编辑/etc/dhcpcd.conf文件,在末尾添加如下内容(指定ip和子网掩码):

# 指定接口 eth0

interface eth0

# 指定静态IP,/24表示子网掩码为 255.255.255.0

static ip_address=192.168.1.1/24

注意:配置网卡信息还可以通过配置/etc/network/interfaces文件来实现,读者需要的话自行操作。这里通过编辑/etc/dhcpcd.conf来实现(更简单)。

3.3.3. 配置DHCP服务

编辑/etc/dhcp/dhcpd.conf文件,添加如下内容:

subnet 192.168.1.0 netmask 255.255.255.0 {

        range 192.168.1.2 192.168.1.200;

        option subnet-mask 255.255.255.0;

        option broadcast-address 192.168.1.255;

        option routers 192.168.1.1;

        option domain-name-servers 182.254.116.116,182.254.118.118,144.144.144.144;

}

注意:

1. 此处编辑的是/etc/dhcp/dhcpd.conf,配置以太网口ip编辑的是/etc/dhcpcd.conf,不要搞混了。

2. dns服务最好查找一下树莓派本机使用的dns,直接配置成树莓派在使用的dns:

cat /etc/resolv.conf

3.3.4. 启动HDCP服务

sudo service isc-dhcp-server restart

注意:这里很可能会遇到错误提示,但通过log查看错误信息,显示应该是服务已经存在并开启了,如果是此种情况直接忽略错误信息。

3.3.5 配置HDCP开机启动

编辑/etc/rc.local文件,在exit 0之前加入如下内容:

service isc-dhcp-server start

注意:如果不添加DHCP服务开机启动,则每次树莓派重启后需要手动执行上述命令来启动DHCP服务。

4. 使用

将PC、laptop或者单片机的以太网口通过网线直连到树莓派上,配置PC、laptop以太网卡为DHCP自动ip配置;单片机的话通过启动lwip的DHCP服务获取ip等信息,就可以愉快的上网了。

此种网络拓扑使用的场景比较少:

1. 如果有一台只支持以太网上网的PC,并且通过网线走线到家中wifi路由器上比较麻烦(距离过长或者走线不美观),并且你手上刚好有树莓派且你不想再买一个usb的无线网卡,那么可以通过此配置将树莓派做成wifi中继,最后PC通过网线连接树莓派上网,甚至可以在树莓派的以太网口上再接一个无线路由器来解决家中wifi信号覆盖问题。

2. 我没有场景1这么蛋疼的诉求(我家里也有类似情况,但我是直接买了一个网件的usb无线网卡)。我遇到的场景是,调试腾讯的LoRa网关,此网关的底板用的是STM32的F7官板,且网关中的固件被配置成通过板载以太网口上网,而公司的墙上网口直连F7官板的话无法连接网络。正好手边有一个树莓派,因此构造了这个拓扑来解决F7的以太网上网问题。

5. 参考文献

设置树莓派共享有线网卡

树莓派配置路由器

用树莓派打造无线路由器

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • 前面章节我们已经对树莓派进行了简单的介绍,使用树莓派作为机器人的控制系统是一个非常不错的选择,本章我们将进一步介绍...
    vctea阅读 4,960评论 0 39
  • 目录: 1、装Raspbian操作系统 2、 第一次配置 3、 网络设置 4、 使用SSH ...
    6625f82d2d0e阅读 34,000评论 1 13
  • [TOC] [玩转树莓派] 选个系统先 Install Raspbian 0x00 树莓派的安装配置(无显示器) ...
    ttdevs阅读 5,761评论 0 11
  • 年前换了部手机还是iphone的,但是几年过去了,google邮箱,digg reader的google账...
    xaiolos阅读 26,676评论 16 17
  • 20180614【日精进打卡第好20天】 一、读经人员:子湘妈读,子湘听。 二、读经内容:《易经》屯卦第五、蒙卦第...
    梁杏丽阅读 87评论 0 0