NAT Loopback Routers
From OpenSimulator
Please help us by completing the content on this page.
Contents
INTRODUCTION
What is NAT Loopback and why is it needed to host a public Opensimulator Region?
Currently (as at August 2010), a hosted region on a home connection with a broadband router needs, what is known as NAT Loopback functionality.
Many DSL routers/modems prevent loopback connections as a security feature. This means that a machine on your local network (e.g. behind your DSL router/modem) cannot connect to a forward facing IP address (such as 199.149.252.44) of a machine that it also on your local network. Connecting to the local IP address (such as 192.168.2.40) of that same machine works fine.
This is an issue since each region has to specify an IP address for the client to connect. This is the ExternalHostName parameter in a regions config file (e.g. bin/Regions/Regions.ini). In the absence of NAT loopback, if a forward facing IP address is specified (such as 199.149.252.44) then external clients will be able to connect to the region but clients on your local network will not. If the internal address were put in ExternalHostName instead (e.g. 192.168.2.40) then viewers on the local network will be able to connect but viewers from an external network would not.
This page shows a list of routers supporting NAT Loopback. Please add both known working and non-working routers to the list.
If solving the problem by configuring your router turns out not to be possible, you can work around it by setting up some IPTable rules on the computer you're using to browse the web (assuming it's a GNU/Linux OS). For details see the NAT Loopback Iptables-script.
Modern routers
Modern routers designed for VDSL (Very High Bitrate Digital Subscriber Line), cable,
and fiber optic connections typically feature a wide range of functions to meet the demands of various broadband connections.
Through a DynDNS provider, your router can be reached under a fixed domain name from the internet, even if the router's public IP address changes regularly.
The corresponding domain names and account information are provided by your DynDNS provider.
This allows the user interface of your router as well as applications and services to be easily accessed once port forwarding has been set up in the router.
Regarding the DNS service for OpenSimulator (a platform for virtual 3D worlds), routers typically obtain DNS server information from your Internet Service Provider (ISP).
Alternatively, you can also use alternative DNS services such as Google DNS (8.8.8.8 and 8.8.4.4) or Cloudflare DNS (1.1.1.1 and 1.0.0.1).
For operating an OpenSimulator server, you can either set a static IP address for the server and configure the corresponding DNS settings or utilize Dynamic DNS (DDNS) services to manage a dynamic IP address.
These services enable assigning a hostname to your server that automatically updates when the IP address changes.
Router/Modem Table
Router / Modem Table
(this information gathered from the OpenSimulator WIKI and OSGrid forums information collectively and assembled into this sortable formatted table for ease of use and quick access. Links provided are either to the Manufactures pages or Pages which can further assist in configuration and troubleshooting.)
[98] Google for more info
Notes on Some Routers
D-Link
D-Link DGL-4500 series of routers have the largest available nat table of any router on the market. These routers range from 70$-180$ USD depending on where you live and purchase from.
When considering a purchase, consider performance against cost. Upper end ADSL 2+ routers can add several Mbs to your modems sync speed.
Wireless Routers - Access Point Only
These routers are Access Point devices, and contain no ADSL modem and hence need a separate adsl modem operating in Bridge mode.
- D-Link DGL-4500
- D-Link DIR-655
- D-Link DIR-635
- D-Link DIR-601
- D-Link DIR-600
- D-Link DI-524
Routers With ADSL modem No items to list currently
Note: The DGL-4100 & DGL-4300 have been discontinued, and the replacement model is the DIL-825 and DIL-855 - Loopback status unknown on these later models. The DGL-4300 may be available second hand.
Netgear
- NETGEAR WNR834M : ftp://downloads.netgear.com/files/wnr834m_ref_manual.pdf
- Netgear DG834G v3 with latest firmware & v4 upto firmware version v5.01.09 (according to this link, a later firmware update of v4 removed NAT loopback) NAT Loopback returned as menu option with latest v5.01.16 firmware for the v4 model. The latest model versions, marked v5 on the unit's label, has significantly different internals and is not currently Loopback capable(the v5 has the wireless aerial on the right, not the left, as looking from the front. The DG834G v1, v2, v3 & v4 are end of line in most markets. The v3 & v4 are proven good performers.
- Netgear DGN1000 worked out of the box. Note this working item reports its firmware version as V2.1.00.19_VG which seems much newer than the version offered for download on netgear.com.
- NETGEAR FVS338 : loopback issue with firmware v3.0.3-17 (2008). LAN address is incorrectly presented to simulator instead of WAN address. Fixed in latest update v3.0.6-25 (2010).
Other routers & Hardware
- BT home hub V2
- If you are using a ZyXEL DSL router/modem from Embarq, please read this configuration guide. This will show you how to reconfigure your DSL router/modem to fix this problem.
KNOWN non-functional for OpenSim:
- Netgear Pro Safe VPN FVS318 : http://www.netgear.com/Products/VPNandSSL/WiredVPNFirewallRouters/FVS318.aspx
- NetGear WGR614 does not work with ISP required gateway modems
- Belkin F5D7230-4 (the router might work if 3rd party firmware is used, such as DD-WRT : http://www.dd-wrt.com/ )
REFERENCE LINKS:
More Information Related to Routers and Solutions @: osgrid.org/forums/viewtopic.php
Linux specific solutions
SETTING UP A LINUX COMPUTER TO ACT AS A ROUTER
For Linux based Netfilter (iptables) routers, you want to set up the NAT table with some extra entries The following script is something to get you started, you'll need to fix up the variables at the top to match your system and network.
#!/bin/bash # # vvvvv - Fix these! - vvvvv IPTABLES=/usr/sbin/iptables LAN_NETWORK=192.168.0.0/24 SERVER_IP=192.168.0.2 INTERNET_IP=100.100.100.100 REMOTING_PORT=8895 REGION_PORT=9000 # ^^^^^ - Fix these! - ^^^^^ # First, the Destination NAT, anything going to the external address on our ports, we redirect to the server # Note, if you have a double NAT running and this router doesn't actually have the internet IP address, you'll # need another set of PREROUTING-DNAT lines with the --destination (-d) set to the internet facing private address $IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REMOTING_PORT --jump DNAT --to-destination $SERVER_IP $IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p udp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP $IPTABLES -t nat -I PREROUTING -d $INTERNET_IP -p tcp --dport $REGION_PORT --jump DNAT --to-destination $SERVER_IP # Second, the Source NAT, we need this so that returning packets to our LAN clients go back through the router first, # otherwise, the server will try to talk directly to the client and the client will reject them $IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REMOTING_PORT --jump SNAT --to-source $INTERNET_IP $IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p udp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP $IPTABLES -t nat -I POSTROUTING -s $LAN_NETWORK -d $SERVER_IP -p tcp --dport $REGION_PORT --jump SNAT --to-source $INTERNET_IP
DNS solution
It's possible to host your own DNS-server, so you can prevent some of the dns-naming problems mentioned before. If http://example.org resolves to the external ip, and that loopback connection is prevented by your router, you could point your resolv.conf to a local nameserver like:
nameserver 192.168.2.2
Now you need bind/named installed in order to handle the dns-requests. You can find a bind example configfile here.
openWRT Routers:
If you use openWRT firmware on your router, check here: OpenWRT NATLoopback
Table of openWRT supported Hardware, check here: openWRT
This may work for older WRT routers:
insmod ipt_mark insmod xt_mark iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 iptables -t mangle -A PREROUTING -j CONNMARK --save-mark iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE
Dahlia Trimble
Windows XP, Windows 7, 8, 8.1, 10 Loopback Adapter Install:
External links:
See also: Using DynDNS for NAT Loopback with Windows, MacOS, or Linux