参考了很多人的方案,不过最后还是靠自己完成了!
曲折,有时觉得自己特慢热,学东西特慢! 不过最后的最后, 我成功地完成了!
好了,言归正传。
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。平时我上网是都是用路由器登陆学校里的VPN,然后在通过路由器上网。但是只要我插上BBB,我就不能上网了,也无法操作BBB。很头疼。也正是为了解决这个问题,我才开始折腾的。
打开Network Manager, 发现两个网卡的地址竟然是同一个!!!不知道为什么。于是我就打算不用这个软件,直接设置文件系统里的相关文件来上网,顺便让我的BBB也可以享一下福。
首先,我们要做的就是为两张网卡分别设置静态地址:
在终端中键入:[code]sudo vim /etc/network/interfaces[/code]在打开的文件中输入:[code]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
[/code]其中,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服务:
在终端中键入:[code]sudo vim /etc/resolv.conf[/code]然后添加我最近的一个DNS服务器:[code]nameserver 10.10.0.21[/code]不过,为了防止重启之后,DNS的信息被重置,还需要新建一个文件:[code]vim /etc/resolvconf/resolv.conf.d/tail
[/code]文件里添加[code]nameserver 10.10.0.21[/code]这样,Ubuntu应该就可以同时连接BBB和Internet了。
为了能够让BBB通过Ubuntu上网,还需要做以下设置:
设置Ubuntu的ipv4包转发规则
设置BBB的网关为Ubuntu,并设置DNS
首先设置Ubuntu的ipv4包转发规则:
打开/etc/sysctl.conf,找到net.ipv4.ip_forward=1,去掉前面的注释;
键入一下命令是改动生效:[code]sudo sysctl -p[/code]通过iptables实现包转发:[code]sudo iptables -A POSTROUTING -t nat -j MASQUERADE[/code]可能还需要以下命令:[code]echo 1>/proc/sys/net/ipv4/ip_forward[/code]这样,Ubuntu的部分就设置好了。
接着我们设置BBB,比较简单,键入:[code]vim .profile[/code]在打开的文件末尾添加:[code]/usr/sbin/route add default gw 192.168.7.1
echo \"nameserver 10.10.0.21\" >> /etc/resolv.conf
[/code]于是,大功告成了!
本文来自论坛,点击查看完整帖子内容。