2. 树莓派:通过树莓派的RJ45上网

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2. 树莓派:通过树莓派的RJ45上网相关的知识,希望对你有一定的参考价值。

参考技术A 背景: 树莓派外接USB无线网卡,待上网设备通过网线和树莓派的RJ45口相连。

思路:

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

—配置文件 /etc/dhcpcd.conf

在文件末尾添加

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设置

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

注意:这一步执行后, 一定要将配置持久化,否则下次开机启动后配置会失效 ,导致虽然共享网口的主机可以dhcp获取地址却无法上网。

防火墙配置持久化:导出防火墙配置并存到/etc目录下

1. 导出iptables的配置,并保存在/etc目录下

2. 添加开机启动

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

4. dhcp服务

4.1 安装udhcpd服务

    sudo apt-get update

    sudo apt-get install udhcpd

4.2 配置DHCP服务

sudo vi /etc/udhcpd.conf

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

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

3. 设置树莓派的IP地址

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

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

4.3 使能DHCP

    配置 /etc/default/udhcpd

    sudo vi  /etc/default/udhcpd

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

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

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

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

以上是关于2. 树莓派:通过树莓派的RJ45上网的主要内容,如果未能解决你的问题,请参考以下文章

基于树莓派的无线路由器改造

树莓派学习系列3——树莓派的远程登录操作(图文)

树莓派python 怎么获取 ip 地址

树莓派树莓派的启动与SSH连接

上手树莓派第一步(树莓派的初始化)

树莓派成长日记01