NATD and Quake1

NATD and Quake1

Post by Fast Eddi » Thu, 01 Apr 1999 04:00:00



Welp, I recently received cable access from mediaone.net, and setup a nice
FreeBSD server.   It's running 3.1-032699-Stable, snap, I got it from
releng22.freebsd.org.  ANYWAYS, I  have played several games from my Win98
box, over natd successfully.  Quake1 CTF however is a different story.

/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via xl1
/sbin/ipfw add pass all from any to any

that is my rc.firewall.    If there is anything any of you could suggest,
I'd greatly appreciate it.

Thanks in advance,
FastEddie

 
 
 

NATD and Quake1

Post by Mark Reddin » Thu, 01 Apr 1999 04:00:00


I've read in a FAQ somewhere (cannot remember) that Quake requires a direct
TCP/IP connection, not a redirected one, in order to function (due to some
hairy things it does). Sounds like you're out of luck.

> Welp, I recently received cable access from mediaone.net, and setup a nice
> FreeBSD server.   It's running 3.1-032699-Stable, snap, I got it from
> releng22.freebsd.org.  ANYWAYS, I  have played several games from my Win98
> box, over natd successfully.  Quake1 CTF however is a different story.

> /sbin/ipfw -f flush
> /sbin/ipfw add divert natd all from any to any via xl1
> /sbin/ipfw add pass all from any to any

> that is my rc.firewall.    If there is anything any of you could suggest,
> I'd greatly appreciate it.

> Thanks in advance,
> FastEddie


 
 
 

NATD and Quake1

Post by Dominik Beh » Thu, 01 Apr 1999 04:00:00



> I've read in a FAQ somewhere (cannot remember) that Quake requires a direct
> TCP/IP connection, not a redirected one, in order to function (due to some
> hairy things it does). Sounds like you're out of luck.

yeah, and those hairy things is just plain using datagram packets
(UDP sockets)
now tell me about masquerading software/proxy/anything that supports
UDP ? i havent heard about it and i dont think its possible
(OK, i think it is possible to forward UDP packets to ONE IP address
on internal net)

dominik behr

 
 
 

NATD and Quake1

Post by Fast Eddi » Thu, 01 Apr 1999 04:00:00


>(OK, i think it is possible to forward UDP packets to ONE IP address
>on internal net)

>dominik behr


That's fine :)  Only 1 of my computers plays Quake.  So forwarding the UDP
packets to only one internal IP is all I want, now, any clue on how to do
that, (if it is possible)
 
 
 

NATD and Quake1

Post by Greg Andre » Thu, 01 Apr 1999 04:00:00




>> I've read in a FAQ somewhere (cannot remember) that Quake requires a direct
>> TCP/IP connection, not a redirected one, in order to function (due to some
>> hairy things it does). Sounds like you're out of luck.

>yeah, and those hairy things is just plain using datagram packets
>(UDP sockets)
>now tell me about masquerading software/proxy/anything that supports
>UDP ? i havent heard about it and i dont think its possible
>(OK, i think it is possible to forward UDP packets to ONE IP address
>on internal net)

Dominik, if I understand you correctly, wouldn't there be problems
when you have multiple machines behind a NAT gateway (using natd or
ppp -alias) that perform DNS querys to name servers on the Internet?

I've been successfully doing DNS and whois lookups from multiple
machines behind a FreeBSD server running ppp -alias for three
years now.  I've just switched my gateway machine to natd because
I'm on a cable modem.  With both configurations, all of my machines
have been able to make DNS and whois querys (using UDP datagrams)
and receive the replies without any trouble.

I don't think UDP is an issue as long as one of my machines sends
the first datagram out to the Internet.  Then my natd (or ppp -alias)
knows where to send returning datagrams.  If the machine on the Internet
tries to send the first datagram in, then it could be a problem.

Mark, I expect the -redirect_port command line option would be useful
to send all traffic to a particular machine.  According to the man page,
it can be used for tcp and udp traffic.  You have read the natd man
page, haven't you?

  -Greg

 
 
 

NATD and Quake1

Post by Greg Andre » Thu, 01 Apr 1999 04:00:00



>Mark, I expect the -redirect_port command line option would be useful
>to send all traffic to a particular machine.  According to the man page,
>it can be used for tcp and udp traffic.  You have read the natd man
>page, haven't you?

Oops, I should have addressed that to Eddie instead of Mark.

  -Greg

 
 
 

NATD and Quake1

Post by Fast Eddi » Thu, 01 Apr 1999 04:00:00


Quote:>>Mark, I expect the -redirect_port command line option would be useful
>>to send all traffic to a particular machine.  According to the man page,
>>it can be used for tcp and udp traffic.  You have read the natd man
>>page, haven't you?

Well, I am very new at this, but I am have 3 good friends help me set this
up.  One of whom is the head guy at freei.net.   Nevertheless, our problem
is which ports Quake1 uses, etc, I've heard it uses the 1st available, but,
I also heard Quake1 does some funky stuff with ICMP packets.  Quake2 works
fine, as well as many other TCP/IP games.  Quake1 CTF is by far my favorite
though and would love to see it work.

Thanks for the reply,
Eddie

 
 
 

NATD and Quake1

Post by Marc Si » Thu, 01 Apr 1999 04:00:00



Quote:>Dominik, if I understand you correctly, wouldn't there be problems
>when you have multiple machines behind a NAT gateway (using natd or
>ppp -alias) that perform DNS querys to name servers on the Internet?

Without looking through the libalias source (which I really should one of
these days), I would assume that natd establishes some state when a machine
makes an outgoing "connection" on a UDP port, and times it out when nothing
arrives for that machine for a set length of time. It may special-case the
DNS port (probably does), or perhaps just special-tune the timeouts, or it
may work for any similar UDP service (of which there aren't many - whois
is a TCP connection to port 43 btw). It does special-case certain other
connections, primarily incoming FTP data connections (which can reasonably be
matched up to a control connection - I suppose this could theoretically break
if two masqueraded-for machines were connected to the same server at the same
time, but it's unlikely).

Quote:>I don't think UDP is an issue as long as one of my machines sends
>the first datagram out to the Internet.  Then my natd (or ppp -alias)
>knows where to send returning datagrams.  If the machine on the Internet
>tries to send the first datagram in, then it could be a problem.

Exactly; unfortunately, some types of services are necessarily server-
initiated, and some others are just badly designed for NAT's purposes (ie.
battle.net). redirect_port will work around this for one internal host, though
the assumptions of Quake II's funky timing prediction may still suffer.

Quote:>Mark, I expect the -redirect_port command line option would be useful
>to send all traffic to a particular machine.  According to the man page,
>it can be used for tcp and udp traffic.  You have read the natd man
>page, haven't you?

--

If you can't play with words, what good are they?
 
 
 

NATD and Quake1

Post by Fast Eddi » Thu, 01 Apr 1999 04:00:00


>or maybe quake uses separate port for sending and receiving ?
>so there is no way for natd to know where to send returing
>packets
><snip>

>dominik behr


Well, Quake II works fine out of the box, no additions needed to my
rc.firewall or anything else.  As well as other TCP/IP games.   I was told
by a few on #freebsd on EFNET IRC that Quake1 uses some funky ICMP controls
along with some other odd communications.

/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via xl1
/sbin/ipfw add pass all from any to any

is my rc.firewall and all of the games that I play but Quake1 works fine
with it thus far.  I have tried setting up a Quake Proxy on the natd box,
qudproxy.c, and I launch it like the readme says, and I try to connect, and
nothing, so the only way I can play Quake1 from this box through natd, is to
run a Stooge Bot Proxy from the natd machine and connect this machine to it.
And as you know, bots are not cool, and I get kicked off of a lot of servers
as expected.  Ah well, enough babbling :)

Thanks for the info guys,

FastEddie

 
 
 

NATD and Quake1

Post by Dominik Beh » Fri, 02 Apr 1999 04:00:00





> >> I've read in a FAQ somewhere (cannot remember) that Quake requires a direct
> >> TCP/IP connection, not a redirected one, in order to function (due to some
> >> hairy things it does). Sounds like you're out of luck.

> >yeah, and those hairy things is just plain using datagram packets
> >(UDP sockets)
> >now tell me about masquerading software/proxy/anything that supports
> >UDP ? i havent heard about it and i dont think its possible
> >(OK, i think it is possible to forward UDP packets to ONE IP address
> >on internal net)

> Dominik, if I understand you correctly, wouldn't there be problems
> when you have multiple machines behind a NAT gateway (using natd or
> ppp -alias) that perform DNS querys to name servers on the Internet?
> I've been successfully doing DNS and whois lookups from multiple
> machines behind a FreeBSD server running ppp -alias for three
> years now.  I've just switched my gateway machine to natd because
> I'm on a cable modem.  With both configurations, all of my machines
> have been able to make DNS and whois querys (using UDP datagrams)
> and receive the replies without any trouble.

it is possible when masquerading program understands protocol (DNS in
your case). it just notices your query, asks target nameserwer about
it and returns this information to you (knowing to which machine to
send the answer from contents of the query)

or maybe i am completely wrong here ?

or maybe quake uses separate port for sending and receiving ?
so there is no way for natd to know where to send returing
packets
<snip>

dominik behr

 
 
 

NATD and Quake1

Post by CyberCa » Fri, 02 Apr 1999 04:00:00


<SNIP>

Quote:>Without looking through the libalias source (which I really should one of
>these days), I would assume that natd establishes some state when a machine
>makes an outgoing "connection" on a UDP port, and times it out when nothing
>arrives for that machine for a set length of time. It may special-case the
>DNS port (probably does), or perhaps just special-tune the timeouts, or it
>may work for any similar UDP service (of which there aren't many - whois
>is a TCP connection to port 43 btw). It does special-case certain other
>connections, primarily incoming FTP data connections (which can reasonably
be
>matched up to a control connection - I suppose this could theoretically
break
>if two masqueraded-for machines were connected to the same server at the
same
>time, but it's unlikely).

Besides the obvious NATd problem with mIRC's identd...I also have trouble
with FTP servers on ports other than.  Trying to connect to an FTP Server
Port 30, for example, by a Win box from the subnet.  The connection is made,
but upon listing any directory it hangs and then finally gives the error
msg, control connection closed.

Why is this?

 
 
 

NATD and Quake1

Post by Fast Eddi » Fri, 02 Apr 1999 04:00:00


Quote:>Besides the obvious NATd problem with mIRC's identd...I also have trouble
>with FTP servers on ports other than.  Trying to connect to an FTP Server
>Port 30, for example, by a Win box from the subnet.  The connection is
made,
>but upon listing any directory it hangs and then finally gives the error
>msg, control connection closed.

>Why is this?

Well, heheheheh, I am the one who posted the original question,  How the
heck to get Quake1 to run through natd,  but I have ran into your problem.
Enable PASV or Passive mode, that  will cure all of your problems. The error
I always got was Protocol Error, I would get that error after the FTP client
would hang upon attempting the list the contents of the directory.  As far
as mirc goes,
redirect_port tcp your.internal.lan.ip.here:113 113
 Has worked for me so far, I put that in rc.conf upon suggestion from
someone in #freebsd on EFNET.  Hope that works out for ya, now back to me :)
How do I get Quake1 to run through natd? :)

FastEddie

 
 
 

NATD and Quake1

Post by Jon Erdma » Fri, 02 Apr 1999 04:00:00


----[Snip]----

i'd be interested just to know how to run quake at all on FBSD :)

any relevent www pages or newsgroups?

i poked around idsoftware.com and only found a quake tester for linux.

jte

 
 
 

NATD and Quake1

Post by MeatHea » Fri, 02 Apr 1999 04:00:00


I found this the other day.  I haven't had a chance to try it, but it might
help you.

http://www.dons.net.au/~darius/quake/



>----[Snip]----

>i'd be interested just to know how to run quake at all on FBSD :)

>any relevent www pages or newsgroups?

>i poked around idsoftware.com and only found a quake tester for linux.

>jte

 
 
 

NATD and Quake1

Post by Jon Erdma » Fri, 02 Apr 1999 04:00:00



> I found this the other day.  I haven't had a chance to try it, but it might
> help you.

> http://www.dons.net.au/~darius/quake/

thanks much, looks promising...

Jon Erdman
God is a whimp - what took him 6 days only took me an hour :P
Rebuild the world - www.freebsd.org