{"id":988,"date":"2009-01-06T10:12:12","date_gmt":"2009-01-06T15:12:12","guid":{"rendered":"http:\/\/nuxx.net\/blog\/?p=988"},"modified":"2009-01-06T23:49:50","modified_gmt":"2009-01-07T04:49:50","slug":"binat-on-openbsds-pf-confuses-me","status":"publish","type":"post","link":"https:\/\/nuxx.net\/blog\/2009\/01\/06\/binat-on-openbsds-pf-confuses-me\/","title":{"rendered":"binat on OpenBSD&#8217;s pf Confuses Me"},"content":{"rendered":"<p><strong>UPDATED:<\/strong> This is fixed. See <a href=\"#update\">the bottom of the post<\/a>.<\/p>\n<p>With the move to <a href=\"http:\/\/www.wowway.net\">Wide Open West<\/a> for data service at home I now have up to three IPs available, all assigned via DHCP. In order to best use them and work around <a href=\"https:\/\/nuxx.net\/blog\/2008\/11\/24\/nxe-xbox-live-with-pf-and-miniupnpd-on-openbsd-42\/\">the Xbox Live problems I was having<\/a> I wanted to do the following:<\/p>\n<p>&#8211; Assign one IP to one interface, and NAT everything through it, like normal.<br \/>\n&#8211; Assign a second IP to a second interface, and use <a href=\"http:\/\/www.openbsd.org\/faq\/pf\/nat.html#binat\">binat<\/a> to have my Xbox 360 to basically have its own public connection. (Sort of like being in the DMZ on a Linksys box.)<br \/>\n&#8211; Leave the third IP alone for times when I want a non-firewalled connection.<\/p>\n<p>While I have this set up, it doesn&#8217;t seem to be working. Here&#8217;s my current configuration. If anyone can tell me what I&#8217;m doing wrong or offer suggestions, please do so:<\/p>\n<p><!--more-->&#8211; WebStar cable modem plugged into a switch.<br \/>\n&#8211; Two interfaces on the firewall <tt>fxp0<\/tt> and <tt>fxp1<\/tt> plugged into the switch.<br \/>\n&#8211; DHCP on <tt>fxp0<\/tt> and <tt>fxp1<\/tt> resulting in the following:<\/p>\n<blockquote><p><tt>fxp0:&nbsp;flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt;&nbsp;mtu&nbsp;1500<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lladdr&nbsp;00:02:a5:da:e4:00<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;groups:&nbsp;egress<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;media:&nbsp;Ethernet&nbsp;autoselect&nbsp;(100baseTX&nbsp;full-duplex)<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status:&nbsp;active<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet6&nbsp;fe80::202:a5ff:feda:e400%fxp0&nbsp;prefixlen&nbsp;64&nbsp;scopeid&nbsp;0x1<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;74.199.15.37&nbsp;netmask&nbsp;0xfffff000&nbsp;broadcast&nbsp;74.199.15.255<\/tt><br \/>\n<tt>fxp1:&nbsp;flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt;&nbsp;mtu&nbsp;1500<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lladdr&nbsp;00:02:a5:da:e4:01<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;media:&nbsp;Ethernet&nbsp;autoselect&nbsp;(100baseTX&nbsp;full-duplex)<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status:&nbsp;active<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet6&nbsp;fe80::202:a5ff:feda:e401%fxp1&nbsp;prefixlen&nbsp;64&nbsp;scopeid&nbsp;0x2<\/tt><br \/>\n<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;74.199.15.89&nbsp;netmask&nbsp;0xfffff000&nbsp;broadcast&nbsp;74.199.15.255<\/tt><\/p>\n<p><tt>trashwall#&nbsp;route&nbsp;-n&nbsp;show<\/tt><br \/>\n<tt>Routing&nbsp;tables<\/tt><\/p>\n<p><tt>Internet:<\/tt><br \/>\n<tt>Destination&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gateway&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flags&nbsp;&nbsp;&nbsp;Refs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use&nbsp;&nbsp;&nbsp;Mtu&nbsp;&nbsp;Prio&nbsp;Iface<\/tt><br \/>\n<tt>default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;74.199.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;3931950&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;fxp0<\/tt><br \/>\n<tt>74.199.0\/20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;link#1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;fxp0<\/tt><br \/>\n<tt>74.199.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:01:5c:31:83:42&nbsp;&nbsp;UHLc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;fxp0<\/tt><br \/>\n<tt>74.199.15.37&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UGHS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;33204&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;lo0<\/tt><br \/>\n<tt>74.199.15.89&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UGHS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;33204&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;lo0<\/tt><br \/>\n<tt>127\/8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UGRS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;33204&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;lo0<\/tt><br \/>\n<tt>127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;15344&nbsp;33204&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;lo0<\/tt><br \/>\n<tt>192.168.0\/24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;link#3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;fxp2<\/tt><br \/>\n<tt>192.168.0.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:16:cb:c5:16:2f&nbsp;&nbsp;UHLc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;fxp2<\/tt><br \/>\n<tt>192.168.0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:aa:a6:89:e0&nbsp;&nbsp;UHLc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;fxp2<\/tt><br \/>\n<tt>192.168.0.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:11:d9:16:54:43&nbsp;&nbsp;UHLc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;63515&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;fxp2<\/tt><br \/>\n<tt>192.168.0.10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:17:f2:09:81:c6&nbsp;&nbsp;UHLc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;351684&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;fxp2<\/tt><br \/>\n<tt>192.168.0.25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;link#3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UHLc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;52623&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;fxp2<\/tt><br \/>\n<tt>192.168.1\/24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;link#9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;wi0<\/tt><br \/>\n<tt>224\/4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;URS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;33204&nbsp;&nbsp;&nbsp;&nbsp;48&nbsp;lo0<\/tt><\/p>\n<p>(IPv6 Stuff Omitted)<\/p><\/blockquote>\n<p>I&#8217;ve then got<tt><a href=\"http:\/\/www.openbsd.org\/cgi-bin\/man.cgi?query=pf.conf&#038;apropos=0&#038;sektion=0&#038;manpath=OpenBSD+Current&#038;arch=i386&#038;format=html\"><\/a><\/tt> set up with the following very basic <tt>binat<\/tt> rule and nothing else. With this set I can ping both interfaces (<tt>fxp0<\/tt>: 74.199.15.37, <tt>fxp1<\/tt>: 74.199.15.89) from the outside:<\/p>\n<blockquote><p><tt>trashwall#&nbsp;cat&nbsp;\/etc\/pf.conf<\/tt><br \/>\n<tt>binat&nbsp;on&nbsp;fxp1&nbsp;from&nbsp;192.168.0.10&nbsp;to&nbsp;any&nbsp;-&gt;&nbsp;fxp1<\/tt><\/p><\/blockquote>\n<p>When I try to ping 208.83.71.138 (nuxx.net) from 192.168.0.10 (internal machine on the <tt>binat<\/tt> line above) I see the following on <tt>fxp0<\/tt>, the external interface on the firewall:<\/p>\n<blockquote><p><tt>trashwall#&nbsp;tcpdump&nbsp;-ni&nbsp;fxp0&nbsp;host&nbsp;208.83.71.138<\/tt><br \/>\n<tt>tcpdump:&nbsp;listening&nbsp;on&nbsp;fxp0,&nbsp;link-type&nbsp;EN10MB<\/tt><\/p>\n<p><tt>09:30:23.036562&nbsp;192.168.0.10&nbsp;&gt;&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><br \/>\n<tt>09:30:24.036532&nbsp;192.168.0.10&nbsp;&gt;&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><br \/>\n<tt>09:30:25.036758&nbsp;192.168.0.10&nbsp;&gt;&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><br \/>\n<tt>09:30:26.036702&nbsp;192.168.0.10&nbsp;&gt;&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><br \/>\n<tt>^C<\/tt><br \/>\n<tt>70&nbsp;packets&nbsp;received&nbsp;by&nbsp;filter<\/tt><br \/>\n<tt>0&nbsp;packets&nbsp;dropped&nbsp;by&nbsp;kernel<\/tt><br \/>\n<tt>trashwall#<\/tt><\/p><\/blockquote>\n<p>I shouldn&#8217;t be seeing a private, internal address going out of the firewall. My understanding of <tt>binat<\/tt>, from both the <a href=\"http:\/\/www.openbsd.org\/faq\/pf\/nat.html#binat\">PF: Network Address Translation<\/a> article and the <tt><a href=\"http:\/\/www.openbsd.org\/cgi-bin\/man.cgi?query=pf.conf&#038;apropos=0&#038;sektion=0&#038;manpath=OpenBSD+Current&#038;arch=i386&#038;format=html\">pf.conf<\/a><\/tt> man page say that it should be doing bidirectional mapping. To quote:<\/p>\n<blockquote><p><cite>A bidirectional mapping can be established by using the binat rule. A binat rule establishes a one to one mapping between an internal IP address and an external address. This can be useful, for example, to provide a web server on the internal network with its own external IP address. Connections from the Internet to the external address will be translated to the internal address and connections from the web server (such as DNS requests) will be translated to the external address. TCP and UDP ports are never modified with binat rules as they are with nat rules.<\/cite><\/p><\/blockquote>\n<p>I have also tried changing the <tt>binat<\/tt> line to be <tt>binat&nbsp;on&nbsp;fxp1&nbsp;from&nbsp;192.168.0.10&nbsp;to&nbsp;any&nbsp;-&gt;&nbsp;74.199.15.89<\/tt> which is how the example is given (as opposed to the interface name, as in the man page) but that doesn&#8217;t make a difference.<\/p>\n<p>There&#8217;s one other thing to note, which I&#8217;m not sure is related or not. If I try to ping 208.83.71.138 with the outgoing interface set to 74.199.15.89 (<tt>fxp1<\/tt>) I see the pings go out with the right source address (74.199.15.89) but via the wrong interface (<tt>fxp0<\/tt>):<\/p>\n<blockquote><p><tt>trashwall#&nbsp;ping&nbsp;-I&nbsp;74.199.15.89&nbsp;208.83.71.138<\/tt><br \/>\n<tt>PING&nbsp;208.83.71.138&nbsp;(208.83.71.138):&nbsp;56&nbsp;data&nbsp;bytes<\/tt><br \/>\n<tt>---&nbsp;208.83.71.138&nbsp;ping&nbsp;statistics&nbsp;---<\/tt><br \/>\n<tt>6&nbsp;packets&nbsp;transmitted,&nbsp;0&nbsp;packets&nbsp;received,&nbsp;100.0%&nbsp;packet&nbsp;loss<\/tt><br \/>\n<tt>trashwall#<\/tt><\/p>\n<p><tt>trashwall#&nbsp;tcpdump&nbsp;-ni&nbsp;fxp0&nbsp;host&nbsp;208.83.71.138<\/tt><br \/>\n<tt>tcpdump:&nbsp;listening&nbsp;on&nbsp;fxp0,&nbsp;link-type&nbsp;EN10MB<\/tt><br \/>\n<tt>10:04:55.599135&nbsp;74.199.15.89&nbsp;>&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><br \/>\n<tt>10:04:56.607387&nbsp;74.199.15.89&nbsp;>&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><br \/>\n<tt>10:04:57.617325&nbsp;74.199.15.89&nbsp;>&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><br \/>\n<tt>10:04:58.627298&nbsp;74.199.15.89&nbsp;>&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><br \/>\n<tt>10:04:59.637270&nbsp;74.199.15.89&nbsp;>&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><br \/>\n<tt>10:05:00.647255&nbsp;74.199.15.89&nbsp;>&nbsp;208.83.71.138:&nbsp;icmp:&nbsp;echo&nbsp;request<\/tt><\/p>\n<p><tt>trashwall#&nbsp;tcpdump&nbsp;-ni&nbsp;fxp1&nbsp;host&nbsp;208.83.71.138<\/tt><br \/>\n<tt>tcpdump:&nbsp;listening&nbsp;on&nbsp;fxp1,&nbsp;link-type&nbsp;EN10MB<\/tt><br \/>\n<tt>10:04:55.624511&nbsp;208.83.71.138&nbsp;>&nbsp;74.199.15.89:&nbsp;icmp:&nbsp;echo&nbsp;reply<\/tt><br \/>\n<tt>10:04:56.626254&nbsp;208.83.71.138&nbsp;>&nbsp;74.199.15.89:&nbsp;icmp:&nbsp;echo&nbsp;reply<\/tt><br \/>\n<tt>10:04:57.636455&nbsp;208.83.71.138&nbsp;>&nbsp;74.199.15.89:&nbsp;icmp:&nbsp;echo&nbsp;reply<\/tt><br \/>\n<tt>10:04:58.645461&nbsp;208.83.71.138&nbsp;>&nbsp;74.199.15.89:&nbsp;icmp:&nbsp;echo&nbsp;reply<\/tt><br \/>\n<tt>10:04:59.657185&nbsp;208.83.71.138&nbsp;>&nbsp;74.199.15.89:&nbsp;icmp:&nbsp;echo&nbsp;reply<\/tt><br \/>\n<tt>10:05:00.667090&nbsp;208.83.71.138&nbsp;>&nbsp;74.199.15.89:&nbsp;icmp:&nbsp;echo&nbsp;reply<\/tt><\/p><\/blockquote>\n<p>Is it possible that maybe I should just have both IPs bound to <tt>fxp0<\/tt>? This will require me to make the dhcp stuff quite a bit more custom, but maybe it&#8217;ll work?<\/p>\n<p><a name=\"update\"><\/a><strong>UPDATE:<\/strong> This fixes it:<\/p>\n<blockquote><p><tt>binat&nbsp;on&nbsp;fxp1&nbsp;from&nbsp;$reason&nbsp;to&nbsp;any&nbsp;-&gt;&nbsp;fxp1<\/tt><br \/>\n<tt>nat&nbsp;on&nbsp;fxp0&nbsp;from&nbsp;$reason&nbsp;to&nbsp;any&nbsp;-&gt;&nbsp;fxp1&nbsp;static-port<\/tt><\/p><\/blockquote>\n<p>Thanks to <lj user=\"stormgren\"> for the help with this. I&#8217;ve now integrated into my normal config and will be updating the <a href=\"https:\/\/nuxx.net\/wiki\/Trashwall\">Trashwall<\/a> article soon to detail how I&#8217;m using the <a href=\"https:\/\/nuxx.net\/blog\/2009\/01\/04\/wide-open-west-physical-installation\/\">new WOW! connection at home<\/a>. See <a href=\"https:\/\/nuxx.net\/blog\/2009\/01\/06\/xbox-live-open-nat-using-pf-on-openbsd\/\">this post<\/a> for information on how this was used to make Xbox Live work properly (open NAT) from behind PF.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UPDATED: This is fixed. See the bottom of the post. With the move to Wide Open West for data service at home I now have<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/nuxx.net\/blog\/2009\/01\/06\/binat-on-openbsds-pf-confuses-me\/\">Continue reading<span class=\"screen-reader-text\">binat on OpenBSD&#8217;s pf Confuses Me<\/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-988","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\/988","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=988"}],"version-history":[{"count":13,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/988\/revisions"}],"predecessor-version":[{"id":1020,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/988\/revisions\/1020"}],"wp:attachment":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/media?parent=988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/categories?post=988"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/tags?post=988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}