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上网的主要内容,如果未能解决你的问题,请参考以下文章