Starlink is the name of SpaceX's internet service, which distributes the internet signal via satellites. In contrast to known Internet via satellite providers, Starlink achieves significantly higher bandwidths with low latencies and all this without bandwidth restrictions.
The satellite dish (also called "dish") acts as a modem. It is connected to an included router via a PoE injector. This router has no configuration options. It emits a WLAN network via which you can connect to Starlink; alternatively, the router has an RJ45 Ethernet socket, labelled "AUX", via which you can feed the Internet signal into your home network via a network cable.
However, if you already have a home network with its own router, WLAN, etc., it makes no sense to use the Starlink router. In addition, you can't turn off the Wi-Fi provided by the Starlink router and the router requires almost 10 watts. For this reason, I use the dish without the router that comes with it, which works well now after initial problems.
In this article I will show how I connected the dish and which configuration was necessary. As an example, I will show which steps are necessary with OPNsense in order to be able to connect the dish directly. Basically, however, the solution is generally valid and can be applied to other routers.
The starting position
Before I go into the solution, it is important that Starlink is already set up with the supplied router according to the Starlink instructions. Only when this is ensured should you unplug the supplied router.
The solution in a nutshell
After this section, I will explain how to set up the solution using OPNsense. But before that, I will briefly describe which actions are necessary.
The dish acts as a modem and is supplied with power via the PoE injector. If we want to replace the Starlink router with our own, the plug of the white network cable must be pulled out of the router and plugged into our own router. Now the LED above the white cable on the PoE injector no longer lights up, but this is normal because the LED only lights up when the connected router is supplied with power via PoE, which is not the case with most routers at home.
Temporary DHCP Lease
In our router, the WAN interface (where the dish with the PoE injector is now connected) must be set to DHCP. The dish has an active DHCP server that assigns an IP on request. It is important to know that the Dish assigns the IP 192.168.100.100 with a very short lease as long as it has not been able to establish a connection to a satellite after the boot process. As soon as the internet connection could be established, the dish assigns a new IP, starting with 100.x.x.x. Only then is the IP we use. Only then is the IP that we can use.
Now there are routers that do not get along with this temporary lease. Here it helps to forbid the router to accept a DHCP lease from 192.168.100.1.
To use the Starlink App and the Starlink Status page at http://192.168.100.1, a static route to 192.168.100.1 must be created.
I have noticed two problems whose solution I am still testing:
A switch between PoE injector and router
Update 30.11.2021: The following paragraph is no longer current. I no longer have a switch between the PoE injector and my router. I don't know why the switch is no longer necessary, but it may be due to one of the numerous updates that SpaceX regularly introduces.
At my first attempt, the connection between my router and the dish only worked for one hour. After that, my router could no longer reach the dish, and manually renewing the DHCP lease did not help either. According to some internet reports, it could be that the Dish or the PoE injector do not work according to the standard and could confuse the router. In this case, a switch between the PoE injector and the router can help.
DHCP Lease cannot be renewed
I had another problem after about 10 hours. The dish lost the connection to the internet, as a result of which the router could no longer establish a connection with the dish, even after 2 hours. It helped to renew the DHCP lease. My attempt to solve this is to adjust the timing in the DHCP protocol, specifically "retry time", which was set to 15 seconds on my router and I have now adjusted this to 5 minutes as a test.
Update 30.11.2021: The described change of the timing protocol was not successful. The fact is, as soon as the dish loses the connection to the satellite, the router also loses the connection to the dish, even if the dish has an internet connection again in the meantime. I've had Starlink for a few months now, and outages of this kind usually only occur at night between 1 and 4 a.m. because the dish reboots as a result of an update. To solve this, I have configured my router to reload the LAN interface to which the dish is connected every day at 5:30am. This gives me a very high level of reliability.
At the moment, my dish runs with these settings without interruptions. However, I will test further and then update the post.
I will describe how to configure the points mentioned in OPNsense in a separate article.