GL-X3000 - Bridge Mode WAN IP Passthrough

Hi @bruce @yuxin.zou Does this experimental passthrough mode work on the GL-X3000 Spitz? I need to do this same configuration to use the spitz as just a modem to connect to my main router's secondary WAN port for backup internet connection. I tried the command you provided and the Spitz just locks up and hangs along with the ssh session I run the command from. In the nginx logs it shows that there are timeouts happening? How can I accomplish this for the GL-X3000 or if it is supposed to work what is going on? I am on the latest firmware version available "0704release5".

Hello,

Please refer to this post:

The Spitz AX will restart the modem and reinitialize all network ports, so the SSH/Web UI will lose or time out.

At this time, Spitz AX will allocate modem IP to the client (PC or main router, only one client can be connected). You can test it on your PC first. If the modem IP is not allocated to, please re-plug the network port.

Hi, thanks for the quick reply. That is the exact command and post I had referenced. Which network port on the Sptiz must be used for this mode after the API command is ran? The WAN port or the LAN port? There is conflicting information in the thread above about this. I am connected with my PC to the WebUI during/after running the command via SSH and once the command runs both SSH and WebUI become unresponsive and I am then unable to connect to either after running the command. Information above says that the WebUI/SSH will still be reachable via the default IP 192.168.8.1 after running this API command but that is not happening for me.

When I say I am experiencing timeouts in the logs from what I can tell this is in reference to not getting a successful response back from the API after running the API command. It does not seem as though the API command is completing successfully but rather everything just hangs and I must got manually reset the Spitz with the reset button.

Thanks please let me know if any of this is not clear or I can provide more information.

Press "enter" actually to execute the API command. The router has received this command and switched to passthrough mode.
The SSH session will indeed hang without any prompts or new rows, it is normal behavior.
image

Look at the LEDs of X3000, the WiFi will be turned off, and only light the Power, Internet, and Cellular.

About 10 seconds later, the PC or your main router WAN will receive the X3000's modem IP (please forgive me for displaying CGNAT IP, depends on the SIM carrier's policy).

Which device that needs to receive modem IP, connect it to the X3000 LAN port.


Thanks this worked (also I was already pressing enter lol) something was not right when I tried this last night but after powering off all night and trying again today it worked.

What I still do not understand is how can I access the WebUI and SSH on the device once it is in this mode? Can I plug in via the WAN port and access that somehow? Also, do other things still work like tailscale etc or is all that kind of just out the window in this mode?

Using the original Router LAN IP, you should also be able to access the GL Gui and SSH, even it is in Passthrough mode.

If not accessible in Passthrough mode:

  1. manually set the static IP in the client network card, for example, the router LAN IP is "192.168.8.1,255.255.255.0", then the static IP of client is "192.168.8.2,255.255.255.0", other item is empty.

  2. Press and hold the reset button for 4 seconds to return to router mode.

In Passthrough mode, none of the router functions are available. Only in router mode tailscale is available to work.

Hi there, thanks. I had already tried to do option 1 that you described here, this doesn't work, and I'm not sure how it would either since the LAN port is handing out the CGNAT IP from the mobile ISP. What would make more sense to me is for this bridge mode to assign the CGNAT IP from the mobile ISP to the WAN port then leave the LAN port free with DHCP disabled to connect directly to the Spitz for administrative purposes etc. by using a static client IP in the default subnet range that you've mentioned.

If nothing else configuring this mode in a fashion that at least allowed "WAN port set to LAN" so one could plug into the WAN port for administrative purposes without unplugging the ISP cable would help here if you needed to keep the LAN port as the port that assigns the ISP IP for some reason.

Tbh, I know this is an experimental mode, but in this state the device seems quite disabled functionally, in this state you're forced to reset the device and/or unplug the ISP cable in the LAN port every time you want to connect for administrative purposes which is not very acceptable IMO.

Is there plans for the Spitz to have support for an official and supported bridge mode that is more usable and doesn't render most capabilities of the device totally useless?

Thanks again.

so this is the router mode, the modem interface self-hosts the IP (or hand over the IP to the WAN interface). Regardless of whether DHCP is disabled or not, the LAN client traffic requires to passes through the router's routing table, that the LAN data will reach the WAN.

The mode/state of the router is not or is not equivalent to IP passthrough. All data will still be processed by the router.

It is important to understand the IP Passthrough mode, when this mode enabled, delivers the modem IP directly to a LAN device, the router itself does not have WAN (also, the router itself does not have Internet access), there is no NAT, and all the data doesn't go through the router, so relying on the functions (WAN/Route) of GL firmware like Tailscale or ADG, etc., are impossible to use.

IP passthrough is generally used for cellular modem with public IP to hand it to specified device, in order to reduce one layer NAT. If without routing features, Tailscale/ADG/Zerotier/VPN/etc. features cannot enable.

Yes I understand, but if one could still confgiure the Sptiz with tailscale etc. in bridge mode somehow (like via the free port) it would allow setup for tailscale to add the device for easier administration/management via a tailnet...assuming tailscale can use the internet access still to standup the wireguard tunnel and talk to the control servers etc. anyhow just some thoughts...would be nice.

Currently, in my case the ISP I am using for secondary ISP is T-Mobile and when the Sptiz is put in bridge mode the WAN IP that gets assigned is a CGNAT IP address. I am trying to connect this as a secondary hot-standby WAN connection on my main ASUS router to the secondary WAN port. However for some reason this doesn't seem to be working, when I test failing over the secondary WAN connection from the Sptiz passing through the T-Mobile CGNAT address 192.0.0.2 just seems to fail and devices behind my main router cannot access the internet via the Spitz acting as a modem passthrough/bridge to my secondary WAN port on my main router...any ideas?

From what I've read in this thread this should be able to work, no?

Thanks

Hi Spitzerin,

It should work. A question about your ISP: is it T-Mobile USA or Germany? Did your SIM card work in a mobile phone? The passed-through address is usually a test IP address according to RFC and should not be used. If it is a CGNAT, the 10.x.x.x address is normally used.

Hi thank you,

So it is T-Mobile US, but the other thing is that the internet connectivity was working a week or so ago when I tested it just connected to a laptop directly from the Spitz in bridge mode. Now for some reason the Spitz when in bridge mode isn't working to provide internet connectivity at all for any device, but the devices connected pull a 192.0.0.2 IP, and this is just using the automatically populated DNS server IP for DNS services as well this is also in 192.0.0.xx range.

I was eventually able to get into the administrative WebUI with the Spitz in this bridge mode through the LAN port which seems to double as both admin WebUI access and providing the internet connectivity which I find a bit odd, frankly. But once in the Admin WebUI I verified the cellular internet connection is up and working fine but again devices connected directly in any capacity to the LAN port now are not able to achieve connectivity to the internet. I have rebooted the Spitz a few times, at this point all I can think to do is place it back into router mode and try to put it back to Bridge mode and see if that helps...?

Did your SIM card work in a mobile phone?

I did not test this tbh, but the internet was working fine last week with the SIM in the Spitz (and it was handing out the same 192.0.0.2 IP, FWIW) so I had no reason to test it, but I suppose I can try this and see what happens as well.

Edit: I just tested putting the SIM card in a phone and the mobile/cellular internet seems to work just fine on the phone.

Thank you

I can confirm I experienced the same behavior with TMO US. TMO oftentimes assigns NAT IPs from questionable ranges, most likely because they’re running out of private addresses to accommodate the sheer amount of devices on their network, and some routers/devices seem to have issues with some of these ranges, e.g. some firewall rules blocking them by default. Not saying that’s the problem here since there should be no firewall in the way in passthrough mode. Just a reminder that TMO’s funky CG-NAT implementation has always caused issues for folks trying to avoid multiple NATs.

1 Like

I figure this has been asked many of times before but when is this feature coming to the X3000’s web interface rather than having to run a bunch of commands to get this functional? There is a lot of interest in this space, so would only make sense in my opinion.

I haven’t posted on here for some time but thought this may be of interest; I was running as passthrough for a year or two - very stable and no issues at all. Then my router bricked itself and I had to use uboot to restore to factory - and then installed the latest available firmware. When I did, my connection speed took a massive jump. See chart below. I seriously doubt this was coincidence so can only assume the passthrough set-up was holding back the performance. To be clear, no hardware, SIM or network provider changes were made. It was literally just a flash of the router back to the default firmware and then an upgrade to the latest available firmware. Upload and download speeds increased massively. I’ve not reverted to passthrough and am living with the double-nat so I can keep the higher speeds.

1 Like

Hello everyone, I’ve just updated my X3000 to the new firmware (V4.8.2). It required an extra reboot, but everything worked fine. The modem mode was still available as well.

Just got a GL-X3000, upgraded to latest firmware (4.8.2) and would like to test out bridge/passthrough mode.

My understanding is that, from a clean/default state, I just need to make sure cellular connection is online/working and then SSH into it and issue the following command?

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '{"jsonrpc":"2.0","method":"call","params":["","netmode","set_mode",{"mode":"passthrough","mask":"auto","mac":""}],"id":1}'

Will the command/mode convert the X3000 into a true modem (disable all other WAN interfaces [ethernet, repeater, tether] as well as disable Wi-Fi and LAN DHCP)? Or does it enable like a “hybrid” mode where it’ll assign the public IP of whatever WAN interface is active, but also still provide WAN failover capabilities, and allow other LAN/WLAN clients to share the single public IP as well (I’ve seen this with other cellular routers where it creates like a virtual subnet for the ISP-provided WAN IP which allows the router and other LAN clients to share the same public IP that’s also assigned to the first LAN device that’s connected).

Additionally, will the X3000’s web GUI will still be accessible from the LAN client/device after switched to bridge/passthrough mode? And how do you disable bridge/passthrough mode (is there another command or do you have to factory reset)?

P.S. There’s obviously a lot of interest in this feature so I don’t know why they haven’t incorporated this into the web UI and/or online manual (https://docs.gl-inet.com/). In the least they should have an official document/webpage that they maintain on their website describing the feature (functionality and limitations) and how to enable/disable it.

Thanks.

1 Like

I completely agree with this. This would be great to have as part of the firmware and/or a KB page dedicated to enabling this/known limitations/etc.

With the new update, I noticed a problem. Whenever the ISP assigns a new public IP address, the router becomes unreachable. Neither the route to the internet works, nor is the router’s IP address accessible.
Has anyone else experienced this issue or found a solution?
At the moment, I’m using a smart plug to briefly cut the power as a workaround.

Brand new to this world, new x-3000 and basically no functional knowledge of anything OpenWRT/Linux except that I have successfully used SSH/Putty numerous times on my Unfi equipment.
Trying to get bridge mode enabled via the experimental script provided. Successfully logged in via Putty as root. I get 500 Internal Server Error as a result of running the script. Probably some noob move, apologies. On 4.7 firmware. Anyone care to help this noob try and get this thing into bridge mode?

T-Mobile Business, good 5G connection with static ip once proper APN provided. All I have done is setup the Cellular and made certain SSH is enabled.

Trying for failover WAN for my UDM Pro, replacing old weak ass Netgear 4G LTE modem occupying the role currently. TIA

First upgrade your X3000 to the latest firmware, like v4.7.4 stable, then log in to the router via SSH, execute this

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '{"jsonrpc":"2.0","method":"call","params":["","netmode","set_mode",{"mode":"passthrough","mask":"auto","mac":""}],"id":1}'