1. 树莓派:eth桥接到wlan口,共享上网

背景:树莓派外接5G无线网卡,推流器连接raspberry 3B lan口,共享上网。

验证:raspberry 3B连接手机的热点,PC通过网线与raspberry的lan口相连,实现上网。

思路:

1. 首先给raspberry的eth设置一个静态ip地址。

2. 修改IP转发规则,允许ip数据的转发。(ip_forward的设置)

3. 路由设置,配置iptables,进行两个网卡的桥接。

4. 开启raspberry的DHCP服务,在eth口上开启。

5. 开启DNS服务。


系统示意图


详细过程:

1. 给树莓派的eth分配静态地址。

暂时分配:

sudo ifconfig eth0 192.168.173.1 255.255.255.0 up

永久分配:

写在配置文件里。

配置文件 /etc/network/interfaces,请注意此处wlan0的地址参数要和etc/udhcpd.conf相关参数相对应。

sudo vi  /etc/network/interfaces

#iface default inet dhcp

增加

auto eth0

iface eth0 inet static

address 192.168.173.1

netmask 255.255.255.0


修改为静态IP

注意:

    修改完毕后,执行 service networking restart ,来查看是否报错,如果没有报错,则重启,IP修改完毕。

2. 启动IP转发

有多种方法,建议使用sysctl的设置方式

方法1:sudo echo 1 > /proc/sys/net/ipv4/ip_forward

方法2:sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

方法3:sudo sysctl -w net.ipv4.ip_forward=1

有的时候需要在/etc/sysctl.conf下添加一行:net.ipv4.ip_forward=1

3. iptables设置

     iptables -t nat -I POSTROUTING -o wlan0 -j MASQUERADE

4. dhcp服务

4.1 安装udhcpd服务

    sudo apt-get update

    sudo apt-get install udhcpd

4.2 配置DHCP服务

    sudo vi /etc/udhcpd.conf

    1. 修改网络接口,设置成对应的网卡号


将图中wlan0设置成对应的eth网卡号(udhpd.conf文件)

    2. 设置remaining,去除前面的#符号

    #remaining     yes    改为   remain    yes


设置remaining模式(udhpd.conf文件)

    3. 设置树莓派的IP地址

        修改opt router为192.168.173.1,那么配置完成之后这个地址将作为网关,连接到raspberry eth口的设备网关需要设置为此IP.

        此处opt dns被修改为公共的DNS地址 114.114.114.114和 114.114.114.115

udhpd.conf的修改

4.3 使能DHCP

    配置 /etc/default/udhcpd

    sudo nano  /etc/default/udhcpd

    使用#符号注释DHCPD_ENABLED="no"

    DHCPD_ENABLED="no"    改为    #DHCPD_ENABLED="no"


udhcpd的修改

4.4  启动服务

    1. 启动udhcp的服务:sudo service udhcpd start

    2. 设置开机启动:sudo update-rc.d  udhcpd enable

5. dns服务

在进行调试的时候发现无法查询到raspberry使用的dns地址,按照常规方法查到的dns地址为127.0.1.1。在网上查了一下https://segmentfault.com/q/1010000002443769 感兴趣的可以参考一下这篇文章。

这就导致我在测试的时候遇到一个问题,pc可以通过ip地址访问,但是通过域名无法访问。然后我就在网上查了一些共用的dns服务器,设置后一切正常。关于这些共用的dns信息参考如下:

/********************************************************************************************************************************************************/

A、DNSPod DNS+:DNSPod的 Public DNS+是目前国内第一家支持ECS的公共DNS,是DNSPod推出的公共域名解析服务,可以为全网用户提供域名的公共递归解析服务!

DNS 服务器 IP 地址:

首选:119.29.29.29        备选:182.254.116.116

B、114DNS:国内用户量巨大的DNS,访问速度快,各省都有节点,同时满足电信、联通、移动各运营商用户,可以有效预防劫持。

DNS 服务器 IP 地址:

首选:114.114.114.114        备选:114.114.114.115

C、阿里 AliDNS:阿里公共DNS是阿里巴巴集团推出的DNS递归解析系统,目标是成为国内互联网基础设施的组成部分,面向互联网用户提供“快速”、“稳定”、“智能”的免费DNS递归解析服务。

DNS 服务器 IP 地址:

首选:223.5.5.5        备选:223.6.6.6

/********************************************************************************************************************************************************/

你可能感兴趣的:(1. 树莓派:eth桥接到wlan口,共享上网)