News: This forum is now permanently frozen.
Pages: [1]
Topic: Battlenet, 30 Computers and M0n0wall  (Read 2939 times)
« on: July 24, 2007, 09:59:05 »
lambda1 *
Posts: 1

Hi, thanks for having a look.
 
We have 5 public IPs and sometimes, up to 32 computers.

First public IP is mapped to internal LAN IP range of: 192.168.1.101 - 192.168.1.107

2nd - 192.168.1.108-114
3rd - 192.168.1.115-121
4th - 192.168.1.122-128
5th - 192.168.1.129-135

Now, in WinXP, we can view every computer on the network without a problem. However, when we try to host a game on Battlenet (warcraft III game server which operates like a P2P), any computer that doesn't share the same Public IP cannot join.

So 101 can host for 107, but not 114.

The strange thing is, 114 can see the game in the Lobby, it just can't join it.
 
 
The reason why we need it configured this way instead of the standard 1 public IP for every computer, is because Battlenet only allows 7 connections per IP address.
 
All the even computers in the LAN are on the portforward list with their respective TCP&UDP ports open.
 
i.e. : 192.168.1.102 (TCP 6102 and UDP 6102)
        192.168.1.104 (TCP 6104 and UDP 6104)
        .
        .
        .
        .
        192.168.1.132 (TCP 6132 and UDP 6132)
 
 
Now I have very little knowledge/experience with configuring routers. I can configure the basic commercial ones but they are in plain english compared to m0n0wall.  Tongue

My current router is a Belkin F1PI210ENau and it cannot do it. I understand that m0n0wall is more powerful.

However, with my knowledge, I'm afraid I cannot utilise it. I would appreciate it if someone could point me to a site or recommend a book that would teach me how to do it.

« Reply #1 on: August 14, 2007, 21:23:00 »
liggyman *
Posts: 8

I believe this is a limitation in M0n0wall not being able to do loopback connections.

My guess is that the clients on the same subnet are able to connect to the game server locally (not through loopback) so it works for them.  The others are forced to loopback as they are on separate subnets.

What may work is to install a switch on the WAN side and use the Belkin to host one public IP with the server behind it, and use the m0n0wall to host the other IPs.

Hope this works out for you.
« Reply #2 on: August 18, 2007, 09:06:19 »
clarknova ***
Posts: 148

What may work is to install a switch on the WAN side and use the Belkin to host one public IP with the server behind it, and use the m0n0wall to host the other IPs.
Seconded. Put your host on the Belkin with 1 public IP and up to 6 other players on its lan, then load the balance of the players onto the monowall using the 4 remaining public IPs. This would appear to be the simplest option with the named resources plus a switch (and most any spare router's lan ports, the dhcp server disabled, can stand in as a switch).

db
« Reply #3 on: August 19, 2007, 12:00:23 »
n00bcrew *
Posts: 2

sorry because i'm adding solved the problem

i am really noob in networking stuff
 
i have the same problem with  lambda1, limited public IP
i had success made 1 host on LAN host a BNET game and other players from the internet can  join the game. but players from the sam LAN can't join the game, but the room could be seen by players from the LAN.
i use inbound NAT

i hope someone can show me the settings  Grin
i had pm lambda1 but no reply

thanks for the attention and sorry for my poor english  Smiley
 
« Reply #4 on: August 24, 2007, 14:33:56 »
couris *
Posts: 1

Hello,

Someone from BWHacks.com found a fix but it uses IPtables, and thus, is only compatible with linux.
Can anyone convert it into freebsd-compatible code?

Quote
The solution:
NAT is simple. It basicly uses a port number to ID each computer behind the router so the router knows who to deliver the information to. You can think of this like WC3, going in the game settings and setting your port to 6114 (Computer A) and 6115 (Computer B) then all you have to do is tell the router, ok, if you see port 6114, you know that belongs to computer A, so forward the information there. Starcraft is a little more tricky than WC3, but it's simple:

Basicly, you give each IP address behind your router a SPECIAL # for a port (make up a nice high number like 64000-65535), and when you send packets from your network going to the WAN (Internet), you have the router change make it look like the packet came from the router. This way, the information comes back to the router. Now, all you have to do is change the port number so you can identify which computer sent the information. Then, once your router gets information that's on that speical port number, it knows which computer it's ment for...so all you have to do, is deliever it to that computer by chaning it's DESTINATION Address to match the local IP of your computer (ie. 192.168.1.1).

Here's the code:
#NAT for client1
iptables -t nat -I PREROUTING -p udp -d 1.2.3.4 --dport 64001 -j DNAT --to-destination 192.168.1.4:6112
iptables -t nat -I POSTROUTING -p udp -s 192.168.1.4 --sport 6112 -j SNAT --to-source 1.2.3.4:64001

#NAT for client2
iptables -t nat -I PREROUTING -p udp -d 1.2.3.4 --dport 64002 -j DNAT --to-destination 192.168.1.5:6112
iptables -t nat -I POSTROUTING -p udp -s 192.168.1.5 --sport 6112 -j SNAT --to-source 1.2.3.4:64002
 
Pages: [1]
 
 
Powered by SMF 1.1.20 | SMF © 2013, Simple Machines