文章目录

公司最近在上一个无线投影的项目,简单的说就是不用视频线连接,让大家可以把电脑上的东西投影到电视机或者投影仪上去。初步解决方案选择的是AirServer。测试下来都是还是不错的但是呢,有了一个小问题,AirServer不能跨网段,所以需要搞个什么东西让这个广播可以跨网段使用。
老大网上找到了一个什么叫Bonjour Gateway的东西可以用来做跨Vlan的广播。
但是这个东东要在Ubuntu上跑,为这个攒个机器实在有点小题大做,但是用虚拟机嘛,也有问题。同事手头正好有个树莓派3,查了一下居然可以上Ubunut 16… 以前我太小看它了…

  1. 下载ubuntu for raspi3

Raspberry Pi

  1. 安装就很简单的,Windows下面用Win32DiskImager安装就可以了

Win32DiskImager

  1. 装完了之后,把TF卡插回树莓派,插电开机。默认的用户名和密码都是ubuntu
  2. 然后改一下root密码,就可以用su了:

    passwd root

  3. 安装一下ssh

    sudo apt-get install openssh-server

  4. 然后设置一下SWAP

    apt-get install dphys-swapfile

  5. 再改一下配置可以用root来ssh,虽然对安全性不好,但是方便不是~

    vi /etc/ssh/sshd_config

然后查找这个改就是了

# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin yes
StrictModes yes
  1. 完事之后还要记得重启一下ssh服务

    sudo service ssh restart

到这里,基础配置就完成了,接下来就是配置bonjour server了
先安装Vlan 和 Avahi

sudo apt-get install vlan avahi-daemon

完事了就可以给网口添加Vlan了
先查看一下网络接口信息

ifconfig -a

看一下网卡接口的名字,比如说是eth0
然后添加一个vlan

vconfig add eth0 100

这样就添加了一个新的vlan100到eth0上面去了
我们再ifconfig -a一下看看,什么鬼!么有eth.100,只有一个什么rename4……
然后我就被这个东西困住了好久,好久…

google了老半天,最后翻到了这个文档:
PredictableNetworkInterfaceNames
这篇文档介绍了为什么内核要自动命名那些接口,总之就见鬼了…
然后这里有解决方案:
Network device configuration

vi /etc/systemd/network/10-vlan.link

[Match]
Driver=*802.1Q*
[Link]
NamePolicy=kernel

按照这个来一发,OK了,终于山是山水是水,eth0.1是eth0.1了

然后给新的端口来一下dhcp

dhclient eth0.100

再ifconfig一下看看是不是生效了。

OK,这样就加好了一个Vlan,不过呢,这个东东重启就失效了,我们还得给他写进启动脚本。

sudo vi /etc/netword/interfaces

在里面加进这么几行

auto eth0.100
iface eth0.100 inet dhcp
vlan-raw_device eth0

保存退出然后重启一下网络服务:

sudo /etc/init.d/networking restart

再重启一下看看是不是OK了吧

之后就可以在avahi-browse里面查看网络里面广播的设备信息了

avahi-browse --all -t