打印

Beaglebone Black 利用Ubuntu上网

[复制链接]
402|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Sode|  楼主 | 2017-9-30 11:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Beaglebone Black 利用Ubuntu上网


Beaglebone Black 本身就是一个DHCP服务器,网络地址为192.168.7.0/30, 整个网络只有192.168.7.0、192.168.7.1、192.168.7.2、192.168.7.3。其中,第一个和第四个不能用,分别是网络号和广播的地址,剩下的192.168.7.2是Beaglebone Black自己的地址(熟悉BBB的朋友都应该很熟悉这个地址,这个地址就是你第一次在浏览器里键入,用以打开BBB的IDE地址)。所以,只有一个192.168.7.1是分配给我的电脑的。(当然了,这些都是可以更改的)
我的主机是Ubuntu 12.04 LTS, 有两张有线网卡eth0、eth1。平时我上网是都是用路由器登陆学校里的***,然后在通过路由器上网。但是只要我插上BBB,我就不能上网了,也无法操作BBB。很头疼。也正是为了解决这个问题,我才开始折腾的。
打开Network Manager, 发现两个网卡的地址竟然是同一个!!!不知道为什么。于是我就打算不用这个软件,直接设置文件系统里的相关文件来上网,顺便让我的BBB也可以享一下福。
首先,我们要做的就是为两张网卡分别设置静态地址:
在终端中键入:
  • sudo vim /etc/network/interfaces

复制代码
在打开的文件中输入:
  • auto lo
  • iface lo inet loopback

  • auto eth0
  • iface eth0 inet static
  • address 192.168.8.2
  • gateway 192.168.8.1
  • netmask 255.255.255.0

  • auto eth1
  • iface eth1 inet static
  • address 192.168.7.1
  • netmask 255.255.255.252
  • broadcast 192.168.7.3


复制代码
其中,192.168.8.0/24是我的路由器的LAN口网络,192.168.8.1是直接和我的电脑相连的那个interface的网络地址,192.168.8.2是我的eth0的网络地址。
192.168.7.0/30是我的BBB所在的网络,其他的几个地址之前都已经提到过了。
当然了,既然已经放弃了Network Manager, 就需要配置DNS服务:
在终端中键入:
  • sudo vim /etc/resolv.conf

复制代码
然后添加我最近的一个DNS服务器:
  • nameserver 10.10.0.21

复制代码
不过,为了防止重启之后,DNS的信息被重置,还需要新建一个文件:
  • vim /etc/resolvconf/resolv.conf.d/tail


复制代码
文件里添加
  • nameserver 10.10.0.21

复制代码
这样,Ubuntu应该就可以同时连接BBB和Internet了。

为了能够让BBB通过Ubuntu上网,还需要做以下设置:
设置Ubuntu的ipv4包转发规则
设置BBB的网关为Ubuntu,并设置DNS
首先设置Ubuntu的ipv4包转发规则:
打开/etc/sysctl.conf,找到net.ipv4.ip_forward=1,去掉前面的注释;
键入一下命令是改动生效:
  • sudo sysctl -p

复制代码
通过iptables实现包转发:
  • sudo iptables -A POSTROUTING -t nat -j MASQUERADE

复制代码
可能还需要以下命令:
  • echo 1>/proc/sys/net/ipv4/ip_forward

复制代码
这样,Ubuntu的部分就设置好了。
接着我们设置BBB,比较简单,键入:
  • vim .profile

复制代码
在打开的文件末尾添加:
  • /usr/sbin/route add default gw 192.168.7.1
  • echo "nameserver 10.10.0.21" >> /etc/resolv.conf


复制代码
于是,大功告成了!

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1049

主题

1522

帖子

8

粉丝