About Chromebooks

Chromebook, ChromeOS and Google Chrome browser news

Chrome OS 86 to make port forwarding for Linux on Chromebooks generally available

As I keep running the Dev Channel of Chrome OS 86, I’m seeing more features of the software moving forward. For example, port forwarding, which was enabled with an experimental flag in Chrome OS 84 and 85, is a native, generally available feature in the next Stable Channel release. Chrome OS 86 removes the port forwarding flag.

As shown above in Chrome OS 86, even without the flag available, “Port forwarding” appears in the Linux settings.

To configure it, simply choose the Port forwarding option and enable your ports and protocols as needed:

You might be wondering what you even need this feature for. If you are, you probably don’t need it. 😉

Essentially, this is a way for Chrome OS to access a web app or a other container running in Linux. Without port forwarding, you wouldn’t be able to access the web app in Linux through the browser in Chrome OS for security reasons.

By forwarding access or output from Linux through a port that Chrome OS can access, this allows for safely viewing or using the web app in development or installed in the Linux container. This should also allow other devices on the same network to use the app for testing purposes, such as on phones or tablets.

Yeah, not a feature for everyone, of course. Developers using Chromebooks, like me, will be thrilled to see this functionality as previously it required workarounds or other configuration methods, without any guarantee of success. But even folks who eventually might turn to Linux for some activity could use this in the future.

With Chrome OS 86 it will be easier to enable and configure port forwarding. If you do need this function, remember that you can enable it in the just released Chrome OS 85 Stable Channel. Simply browse to chrome://flags/#crostini-port-forwarding and turn the feature on.

author avatar
Kevin C. Tofel

5 thoughts on “Chrome OS 86 to make port forwarding for Linux on Chromebooks generally available

  1. You’ve been able to access ports in the default container via the hostname penguin.linux.test for over 2 years. And for power users with more than one container, it’s ..test. See the change here: https://chromium.googlesource.com/chromiumos/platform2/+/4bbb4d9a8e0ac36a7a6f99afb8ad9d6204ac6afb

    I presume by setting up port forwarding you can just use `localhost` every time – but doesn’t this just shift the cognitive load, where instead of remembering the different hostnames a developer will now have to remember the port mappings, instead of just connect to the port the app is really running on. A strange change for my money! ?

    1. This change in 86 allows any device on the same network to connect to the container. That’s the new part from what I can tell. Useful for testing web apps hosted by the container on other devices and form factors.

      1. This is correct, I did forward a port and could access Crostini running a Docker container w/ an Apache server running from my phone, and in fact that’s exactly why I did it: testing. Thanks for the info, this was the first I saw of this feature!

  2. does not work for me ..
    pixelbook, stable channel, chrome 86, port 8181, server php/nginx/node …
    and linux iptables setted.
    localhost/127.0.0.1/nat ip :8181 works.
    wifi ip(like 192.168.x.x) :8181 not work (ping works, telnet ip 8181 not work)

    need help …thx.

Comments are closed.

Scroll to top