News for hackers. Stuff that matters.
Re:Bird – Internet Routing Daemon by dredmorbius on Saturday July 27, 2019 @04:09AM (#20540981)
Context: cz.nic are the producers of the Turris Omnia WiFi router, an OpenWRT-based SOHO router. ~US$300 buys you 2.4 & 5 Ghz wifi, 5x 10/100/1000 ethernet, 2 GB RAM, 8 GB flash, 2x USB, 500 MHz ARM CPU, lots of blinkenlights, automatic updates (not otherwise included with OpenWRT), and numerous hardware modular expansions including internal mSata disk, SIM card capacity, and a NAS enclosure. That's pricier than a proprietary router but considerably more powerful, versatile, and performant. I'm a happy owner.

https://www.turris.cz/omnia/

The recently announced Mozilla WebThings gateway also runs on the Turris:

https://news.ycombinator.com/item?id=20532763

The BIRD Internet Routing Daemon, a BGP routing service you can run yourself, is included in the available OpenWRT packages:

https://openwrt.org/packages/pkgdata/bird4

No, I don't run BIRD myself, though it could be fun to play with.

Re:Bird – Internet Routing Daemon by walrus01 on Saturday July 27, 2019 @06:50AM (#20541389)
If you're going to spend $300 on a home router and know what you're doing, I strongly recommend you don't buy this. Not because it's a bad product, but in that price category you should be separating the functions of router and wifi into their own discrete devices.

A ubnt edgerouter-x is good for up to about 800Mbps of NAT and runs an os derived from Debian and vyatta. Or something like a mikrotik rb4011.

Then buy a dedicated purpose wifi ap like a ubnt uap pro that does dual band 802.11ac.

A router should be a thing that has 1000baseT ports on it, maybe an sfp or sfp+ cage and no wireless. A wifi ap should be a thing with no routing functionality that serves the purpose to bridge a wifi client device at layer 2 onto some specific section of Ethernet fabric.

Re:Bird – Internet Routing Daemon by sltkr on Saturday July 27, 2019 @07:22AM (#20541471)
> you should be separating the functions of router and wifi into their own discrete devices

Why?

If you need a media converter, router, and wireless access point anyway, there are obvious space and power advantages to combining these functions into a single device.

I could see a concern about performance, but from scanning online reviews, it seems like the Turris Omnia performs just fine.

> A router should ... > A wifi ap should ...

Instead of just stating your beliefs as if their truth is self-evident, please offer some rationale.

Re:Bird – Internet Routing Daemon by walrus01 on Saturday July 27, 2019 @08:01AM (#20541612)
Network engineer with 20 years experience: Routers that have wireless interfaces on them are toys. Carrier grade routers have wired interfaces only. Introducing binary blobs of atheros/Qualcomm chipset support into a router is a recipe for instability.

In my field, "toy" is anything that costs under 500 bucks. If we want a wireless interface for OOB, we'll add an opengear LTE gateway device.

The router I mentioned in the earlier post consumes 5W of power and is the size of a pack of cigarettes. It looks like a toy, and is under $50, basically disposable, but is much more stable and bug free than home routers you can buy from $85-275 at Best buy which integrate wifi capability.

The consumer market for cool looking multi band $200 routers with spiky antennas coming out of the top is, in my opinion, ridiculous.

As for the dedicated wifi side, ask any professional who uses (on the cheap side, ubnt) or xirrus, ruckus APs in environments with thousands of clients whether wifi aps should also be routers. They'll have a good laugh at the idea.

Re:Bird – Internet Routing Daemon by tssva on Saturday July 27, 2019 @08:28AM (#20541716)
The router you mention uses a cpu originally designed for the home wifi router market and was in fact heavily used in them. It also requires binary blobs to accelerate NAT to that 800Mbs and to accelerate IPsec. EdgeOS also tends to be a buggy mess. The rollout of the 2.x train for the er-x has been a fiasco.
Re:Bird – Internet Routing Daemon by pqb on Saturday July 27, 2019 @08:46AM (#20541780)
> A ubnt edgerouter-x is good for up to about 800Mbps of NAT and runs an os derived from Debian and vyatta. Or something like a mikrotik rb4011.

Personally, I was thinking to configure network with ER-X for myself, but I quickly started to reconsider to take ER-4/ER-6 or Omnia, which seems to be few magnitudes better. Omnia is great SOHO router, it has better transfer over the air (5GHz on Turris it's between 900-950 [0]) than ER-X in eth-eth (700-800 [1]). If you aren't scarred of having a all-in-one device[6], then it might a great choice if you would like more possibilities, e.g. to setup few more services directly on Turris (i.e. PiHole, Syncthing) with mSATA disk, instead of using RaspberryPi with SD card (:scream:) for this purpose. In terms of pricing (for EU customers) pricing does not sound that bad (if you also looking to have a WLAN network), because ubnt ER-4/RaspberryPi 3B+/UAP Lite (note, it's slower MIMO 2x2) [2][3][4] is about 260+ pounds, for Omnia 270+ pounds.

[0]: https://bluegadgettooth.com/best-openwrt-router/

[1]: https://www.mbreviews.com/ubiquiti-edgerouter-x-review/

[2]: https://skinflint.co.uk/ubiquiti-edgerouter-4-er-4-a1749252.... (~160)

[3]: https://skinflint.co.uk/raspberry-pi-3-model-b-a1785657.html (~30)

[4]: https://skinflint.co.uk/ubiquiti-unifi-ap-ac-lite-uap-ac-lit... (~70)

[5]: https://skinflint.co.uk/turris-omnia-2gb-a1520592.html (~270)

[6]: I have heard following rule of thumb, that networks should be organized to have dedicated devices per given resposibility instead of having such router-switch-nas-godzillas, because of easier replacement in case of failure, maintenance, etc. etc. (just like in microservices architecture).

Re:Bird – Internet Routing Daemon by theon144 on Saturday July 27, 2019 @07:10AM (#20541440)
>you should be separating the functions of router and wifi into their own discrete devices

Just curious, why? (You just mentioned "shoulds" and "dos", not "whys")

Re:Bird – Internet Routing Daemon by walrus01 on Saturday July 27, 2019 @08:04AM (#20541622)
Ability to make changes to one segment of the network without affecting the other. Upgrade your gateway device/router separately from wifi. Put multiple APs all controlled by a single unifi controller around your house, rather than mess with half duplex csma hell wifi extender devices.

Have a router supporting weird configurations like CenturyLink gigabit gpon service, which if you don't want to use their terrible gateway device, requires a unique vlan tag on the wan interface.

Ability to have a router that is Debian under the hood.

Re:Bird – Internet Routing Daemon by dredmorbius on Saturday July 27, 2019 @09:06AM (#20541863)
Note that in many configurations, the Turris sits behind a DSL or cable modem already (mine also running OpenWRT. SIM +4/5GL on the Turris would be an exception.

That 800Mbps won't do much for a 10 Mbps ADSL circuit, or even 100 Mbps cable. Though if you can saturate that, props to you.

Re:Bird – Internet Routing Daemon by theon144 on Saturday July 27, 2019 @07:08AM (#20541438)
>cz.nic are the producers of the Turris Omnia WiFi router

Well yeah, they also have a little side business managing the .cz TLD and coordinating Czech ISPs /wrt infrastructure roll-outs, security incidents, etc...

Re:Bird – Internet Routing Daemon by dredmorbius on Saturday July 27, 2019 @07:13AM (#20541450)
As I'd hope is obvious from their name.

For most of the HN crowd, the Turris / OpenWRT angle likelely has more immediate "what does this mean for me / what can I do with this" significance.

Re:Bird – Internet Routing Daemon by doctorpangloss on Saturday July 27, 2019 @04:23AM (#20541020)
Ah, nothing says "Gigabit Ethernet Routing" like a iPhone 3G processor.
Re:Bird – Internet Routing Daemon by Arnt on Saturday July 27, 2019 @04:33AM (#20541056)
I route gigabit with a much slower processor than that.

Good routers are built for reliability, and most of them seem to opt for slowish CPUs and a fast-path for routing that doesn't involve the CPU at all. The CPU is there to update the routing table and do other supporting chores.

Re:Bird – Internet Routing Daemon by d2mw on Saturday July 27, 2019 @07:41AM (#20541540)
You can find much slower machines able to route gigabit, the limitations are mostly on the bus and ability for the driver/chip to efficiently process notifications. We're only talking about 125MB/sec, and if any of that is bulk data utilizing the full MTU, as few as 81k packets/sec, represented in (modulo driver/chip/config) far fewer than 81k interrupts/sec
Re:Bird – Internet Routing Daemon by piotrkubisa on Saturday July 27, 2019 @07:58AM (#20541604)
Yup. Please note the Ubiquity's edgerouters have similar pps rate in certain packet sizes [0], I guess it's because of slow Mediatek CPU. ER-X-family also is a bit crippled in terms of hardware offloading [1].

[0]: https://www.ui.com/edgemax/comparison/

[1]: https://help.ubnt.com/hc/en-us/articles/115006567467-EdgeRou...

Re:Bird – Internet Routing Daemon by windexh8er on Saturday July 27, 2019 @10:11AM (#20542108)
You have to look at the architecture. They are using a dedicated switching chip that has multiple gigabit lanes. While routing is a different path in software most home and SOHO implementations have very few routes to deal with. That being said the switching can offload the majority of those lookups. It's far more than powerful enough to handle what it states given its architecture.
Re:Bird – Internet Routing Daemon by tolqen on Saturday July 27, 2019 @07:06AM (#20541433)
Their website says "1.6 GHz dual-core ARM", which sounds decidedly more powerful than an iPhone 3G
Re:Bird – Internet Routing Daemon by dredmorbius on Saturday July 27, 2019 @07:15AM (#20541454)
Thanks, I thought the GHz was higher, though /proc/cpuinfo doesn't state, and dmesg has rolled off the startup CPU specs. Can confirm two cores.
Re:Bird – Internet Routing Daemon by woah on Saturday July 27, 2019 @07:32AM (#20541503)
The Turris Omnia is not a good use of money if you want a WiFi router, since more powerful options exist for less than half the price. It’s a fancy box for techies to buy with some extra disposable income.
Re:Bird – Internet Routing Daemon by tolqen on Saturday July 27, 2019 @07:33AM (#20541510)
Do you have any suggestions? I'm in the market for something like this at the moment.
Re:Bird – Internet Routing Daemon by dsr_ on Saturday July 27, 2019 @07:44AM (#20541551)
The Turris Omnia is actually a very good choice, because it is well supported by security updates.

The number one flaw of commercial routers/security devices is that they don't get updated or can't get updated.

If you don't want an Omnia, I would strongly advise building a low power computer that runs a mainstream Linux distro with excellent security support -- Debian is an excellent choice -- and spending a few days setting it up properly.

Re:Bird – Internet Routing Daemon by dredmorbius on Saturday July 27, 2019 @09:14AM (#20541889)
There are numerous systems that will run OpenWRT, which for dedicated networking gear I'd generally prefer to Debian (otherwise my first choice). Most annoying downside so far is no manpages. Low-power kit will shave a few bills off your ower budget (Turris draws about 12W).

As you mention, Turris updates automatically. For stock OpenWRT you've got to manage upgrades (and add'l pckg install and configs) yourself. The generous storage means you can add additional OpenWRT packages and apps as desired.

Re:Bird – Internet Routing Daemon by cassianoleal on Saturday July 27, 2019 @05:08PM (#20544207)
The Turris Omnia does update automatically but it runs an insanely old version of OpenWRT. Once TurrisOS 4 comes out it should fix that but it's taking a very long time to happen.

Auto-updating a plain OpenWRT installation is not hard to implement and allows you to stay up-to-date.

That said, the Omnia's hardware is pretty great and the fact that you can plug eMMC storage to run LXC containers is absolutely fantastic.

You can also install plain OpenWRT on it these days.

Re:Bird – Internet Routing Daemon by dredmorbius on Sunday July 28, 2019 @01:46AM (#20546043)
Auto-updating if you have storage space for opkg installs is reasonably sane, via opkg. Building a new firmware image is not. Updating via stock builds (LuCI or sysupgrade) leaves the matter of local configurations and package installs ... at best unclear.

A major set of problems are:

- Minuscule rewriteable storage on consumer networking kit.

- The need to create a firmware image, and not merely select and configure packages on disk.

- Bootloader fuckwittedness.

None of these are OpenWRT's fault. They do define the operating theatre, however. Unfortunately, in light of this, OpenWRTs tools and documentation are not up to the task. Yes, free software, volunteer project, etc., etc. I'm hoping my criticisms may be useful.

Many consumer devices (my ADSL modem comes to mind) have nanoscopic writable storage: 8 MB is not atypical.

OpenWRT's other upgrade opions are ... neither clearly stated nor readily achieved.

One of the higher-ranked HN OpenWRT submissions concerns why there is no autoupdate:

https://web.archive.org/web/20160206204329/http://prpl.works... (https://news.ycombinator.com/item?id=10870294)

The OpenWRT user guide does not clearly address system upgrades, though there's otherwise good coverage of many topics:

https://openwrt.org/docs/guide-user/start

The most applicable section appears to be "Installing Additional Software", with sections:

- Beginners guide to building your own firmware

- Extroot configuration

- Managing packages

- Opkg Package Manager

- Saving firmware space

- Show available package upgrades after SSH login

- Using the Image Builder

Only the last directly addresses upgrading. A dedicated "System UpgradinG" document would be extremely useful.

The sysupgrade docs are not in the user guide but the technical reference:

https://openwrt.org/docs/techref/sysupgrade

I've tried compiling from source. There's a hell of a lot of menuconfig, and my build failed after 9+ hours. Not newbie-friendly at all. (FWIW I don't consideer mysef a newbie.)

I've not yet tried the imagebuilder.

I'm very familiar (20+ years) with Febian, and both the familiarity and its APT package management make the process highly predictable (with much help from ample storage and open bootloader standards). OpenWRTx is a long way from that, yet.

If you've any illumination or advice to add beyond "Auto-updating a plain OpenWRT installation is not hard to implement and allows you to stay up-to-date", I'm all ears.

Re:Bird – Internet Routing Daemon by tolqen on Saturday July 27, 2019 @08:07AM (#20541629)
Yeah, that's what I was thinking. To me the computing power and the software support makes it better than a lot of the alternatives, and I don't see anything more powerful without going x86.
Re:Bird – Internet Routing Daemon by fredsir on Saturday July 27, 2019 @04:47AM (#20541083)
Does Turris Omnia support VPN proxying?
Re:Bird – Internet Routing Daemon by dredmorbius on Saturday July 27, 2019 @05:11AM (#20541136)
Could you clarify what specifically you mean?

Both VPNs and proxies are supported. "VPN proxying" isn't a familiar term.

Generally, Turris has any OpenWRT capability. Possibly helpful:

https://openwrt.org/docs/guide-user/services/vpn/openvpn/cli...

https://openwrt.org/docs/guide-user/services/tor/create-tor-...

https://openwrt.org/docs/guide-user/services/proxy/overview

Re:Bird – Internet Routing Daemon by fredsir on Saturday July 27, 2019 @05:53AM (#20541238)
I was vague, but I think I just meant VPN. Dunny why I wrote proxying. Thank you!