{"id":1000,"date":"2009-01-06T23:00:21","date_gmt":"2009-01-07T04:00:21","guid":{"rendered":"http:\/\/nuxx.net\/blog\/?p=1000"},"modified":"2009-01-06T23:51:46","modified_gmt":"2009-01-07T04:51:46","slug":"xbox-live-open-nat-using-pf-on-openbsd","status":"publish","type":"post","link":"https:\/\/nuxx.net\/blog\/2009\/01\/06\/xbox-live-open-nat-using-pf-on-openbsd\/","title":{"rendered":"Xbox Live Open NAT Using pf on OpenBSD"},"content":{"rendered":"<p><center><\/p>\n<table cellpadding=1>\n<tr>\n<td bgcolor=\"black\"><a href=\"https:\/\/nuxx.net\/gallery\/v\/acquired_stuff\/xbox_360\/IMG_3000-Edit.jpg.html?g2_imageViewsIndex=2\"><img decoding=\"async\" src=\"https:\/\/nuxx.net\/gallery\/d\/80655-2\/IMG_3000-Edit.jpg\" height=427 width=640 border=0 alt=\"Detailed photo of the word 'Strict.' from the Xbox 360 Network Test which insists that my network setup is restrictive.\"><\/a><\/td>\n<\/tr>\n<\/table>\n<p><\/center><\/p>\n<p>It&#8217;s done. My Xbox 360 is now working properly via NAT talking through the <a href=\"https:\/\/nuxx.net\/wiki\/Trashwall\">Trashwall<\/a> and using <a href=\"http:\/\/www.wowway.com\">WOW!<\/a> service.<\/p>\n<p>After getting my <a href=\"https:\/\/nuxx.net\/blog\/2009\/01\/06\/binat-on-openbsds-pf-confuses-me\/\">previously mentioned <tt>pf<\/tt> problem<\/a> on <a href=\"https:\/\/nuxx.net\/wiki\/Trashwall\">Trashwall<\/a> sorted out I tested out the Xbox 360 to see if the network test for Xbox Live would pass. Guess what? It didn&#8217;t, continuing to insist that my NAT type is strict.<\/p>\n<p>A bit more research (and information which seems to come from <a href=\"http:\/\/www.rasmithuk.org.uk\/?page_id=81\">this post at Russ&#8217;s Blog<\/a>) indicates that the Xbox Live uses the following classifications for NAT:<\/p>\n<blockquote><p>Strict: Symmetric NAT.<br \/>\nModerate: Cone shaped NAT with port filtering or with UPnP turned off.<br \/>\nOpen: Cone shaped NAT with no port filtering or with UPnP turned on.<\/p><\/blockquote>\n<p>Cone and symmetric NAT descriptions are formalized in <a href=\"http:\/\/tools.ietf.org\/html\/rfc3489\">RFC3489<\/a>, and a bit more digging brought up <a href=\"https:\/\/calomel.org\/pf_config.html\">this general how-to for using OpenBSD&#8217;s pf<\/a>, indicating that the <tt>static-port<\/tt> directive on a NAT rule (described <a href=\"http:\/\/www.openbsd.org\/cgi-bin\/man.cgi?query=pf.conf#POOL+OPTIONS\">here in the POOL OPTIONS section of the <tt>pf.conf(5)<\/tt> man page<\/a>) makes OpenBSD do cone-shaped NAT.<\/p>\n<p>So, overall, what did it take to fix it? Well, it was actually three things:<\/p>\n<blockquote><p>&middot; I <a href=\"https:\/\/nuxx.net\/blog\/2009\/01\/04\/wide-open-west-physical-installation\/\">switched to Wide Open West<\/a> for data service, which gave me three IPs.<br \/>\n&middot; While the whole house was NATted through one of the IPs, the Xbox 360 alone has been bidirectionally NATted through another.<br \/>\n&middot;The magic <tt>static-port<\/tt> option on the NAT line for the Xbox 360.<\/p><\/blockquote>\n<p>Without a second IP I wouldn&#8217;t have been able to forward all ports inbound, which without a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Universal_Plug_and_Play\">UPnP<\/a> daemon (<a href=\"https:\/\/nuxx.net\/blog\/2008\/11\/24\/nxe-xbox-live-with-pf-and-miniupnpd-on-openbsd-42\/\">which didn&#8217;t go well before<\/a>) would have resulted only a NAT setting of Moderate.<\/p>\n<p>All of this has been documented in the updated version of the article on the <a href=\"https:\/\/nuxx.net\/wiki\/Trashwall\">Trashwall<\/a>, my home&#8217;s a firewall \/ NAT device \/ switch \/ whatever built out of an unwanted PowerMac G4.<\/p>\n<p>(In case you didn&#8217;t notice, this photo does a good job illustrating the wire in a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Aperture_grille\">aperture grill<\/a>, such as the one here on an <a href=\"https:\/\/nuxx.net\/gallery\/v\/acquired_stuff\/sony_kd-34xbr970\/\">Sony KD-34XBR970<\/a> CRT HDTV. If you&#8217;d like to see the original without the no sign, <a href=\"https:\/\/nuxx.net\/gallery\/v\/acquired_stuff\/xbox_360\/IMG_3000.jpg.html\">here&#8217;s the small version<\/a> and <a href=\"https:\/\/nuxx.net\/gallery\/v\/acquired_stuff\/xbox_360\/IMG_3000.jpg.html?g2_imageViewsIndex=2\">here it is at full res<\/a>.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s done. My Xbox 360 is now working properly via NAT talking through the Trashwall and using WOW! service. After getting my previously mentioned pf&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/nuxx.net\/blog\/2009\/01\/06\/xbox-live-open-nat-using-pf-on-openbsd\/\">Continue reading<span class=\"screen-reader-text\">Xbox Live Open NAT Using pf on OpenBSD<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-1000","post","type-post","status-publish","format-standard","hentry","category-computers","entry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/1000","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/comments?post=1000"}],"version-history":[{"count":15,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/1000\/revisions"}],"predecessor-version":[{"id":1021,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/1000\/revisions\/1021"}],"wp:attachment":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/media?parent=1000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/categories?post=1000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/tags?post=1000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}