You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

193 lines
7.6 KiB

4 years ago
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  3. "http://www.w3.org/TR/xhtml111/DTD/xhtml111.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  5. <head>
  6. <title>Soekris Router Project</title>
  7. <link rel="stylesheet" href="style.css"/>
  8. </head>
  9. <body>
  10. <p>
  11. This document no longer reflects my configuration, but rather
  12. than delete possibly useful information, I've made notes of my
  13. changes on a new <a href="errata.html">errata</a> page.
  14. </p>
  15. <h1>Introduction</h1>
  16. <p>
  17. Typically there are two choices when setting up a small network:
  18. buy consumer grade commercial hardware, or find an old machine
  19. and install unix. A small wireless router and firewall from <a href="https://www.netgear.com"> NetGear</a> or <a href="https://www.linksys.com">Linksys</a> could hardly be easier
  20. to install and has many pretty <a
  21. href="http://www.brabandt.de/html/blinken_lights.html">blinken
  22. lights</a>. It isn't very flexible though, often two or more
  23. different boxes are needed, upgrading means buying another one,
  24. and some "enterprise" features are plain not available at the
  25. low end. On the other hand, a full fledged computer makes a lot
  26. of noise and has many moving parts to fail.
  27. </p>
  28. <p>
  29. The solution: create a custom network device running on silent
  30. hardware designed for embedded systems. Select the best
  31. hardware and software available to create a device
  32. unparalleled by anything in the commercial marketplace.
  33. </p>
  34. <ol>
  35. <li>Stateful packet filtering with NAT</li>
  36. <li>High power 802.11b wireless access point</li>
  37. <li>Routing</li>
  38. <li>Network services (DHCP, NTP, SSH, caching DNS)</li>
  39. <li>IPsec endpoint</li>
  40. <li>Upgradable (802.11g, IPv6, etc)</li>
  41. </ol>
  42. <p>
  43. The real selling point however is that this network device will
  44. be running a full unix operating system, which provides nearly
  45. infinite flexibility. All aspects of operation can be fine
  46. tuned, comprehensive monitoring is possible, and arbitrary
  47. programs may be installed.
  48. </p>
  49. <h1>The Platform</h1>
  50. <p>
  51. <a href="https://www.soekris.com">Soekris Engineering</a>
  52. produces an excellent line of tiny, x86 compatible,
  53. embedded computers complete with cases. So first on the list, one <a href="https://www.soekris.com/net4521.htm">net4521</a> which has
  54. the following key specifications:
  55. </p>
  56. <ul>
  57. <li>AMD <a href="https://www.amd.com/epd/processors/4.32bitcont/14.lan5xxfam/24.lansc520/">Elan SC520</a> 486 class 133mhz CPU, 64 megs of RAM</li>
  58. <li>Two 10/100 megabit ethernet ports</li>
  59. <li>Two PCMCIA/PCCard/CardBus slots</li>
  60. <li>One Mini-PCI slot, filled with a
  61. <a href="https://www.soekris.com/vpn1201.htm">vpn1211</a> hardware crypto board</li>
  62. <li>A CompactFlash card slot for permanent storage of the system software</li>
  63. </ul>
  64. <p>
  65. The Soekris boards support all the free *BSD variants, Linux,
  66. and probably anything else that runs on standard PC compatible
  67. hardware. Soekris has quite a following amongst the wireless
  68. networking community, and so has a lively <a
  69. href="http://lists.soekris.com/mailman/listinfo/soekris-tech">mailing
  70. list</a> with volumes of information about how to get everything
  71. working.
  72. </p>
  73. <h1>The Wireless Card</h1>
  74. <p>
  75. Next is an 802.11b wireless card. Many aren't capable of acting
  76. as an access point, and some aren't even supported under open
  77. source operating systems. Fortunately there is a wonderful
  78. chipset called Prism from <a
  79. href="http://www.intersil.com">Intersil</a> that is very well
  80. supported under *BSD and Linux, and it supports an access point
  81. mode.
  82. </p>
  83. <p>
  84. One of the people on the Soekris mailing list happens to have a
  85. company named <a href="https://www.netgate.com">NetGate</a>, and
  86. this company just happens to ship a <a href="https://www.netgate.com/EL2511.html"> 802.11b PC-Card</a>
  87. based on the Prism 2.5 chipset which puts out 200mw with
  88. excellent sensitivity ratings. Not only that but they sell <a href="https://www.netgate.com/kits.html">kits</a> which include:
  89. </p>
  90. <ul>
  91. <li>The card itself</li>
  92. <li>A "pigtail" which connects the card to a connector on the outside of
  93. the Soekris case</li>
  94. <li>An antenna which greatly increases the range</li>
  95. </ul>
  96. <p>Great stuff!</p>
  97. <h1>The Operating System</h1>
  98. <p>
  99. Choosing the right network operating system may be the toughest
  100. task. Linux and the *BSDs (FreeBSD, NetBSD, OpenBSD) will all
  101. run on this hardware, as will other non-free operating systems
  102. which I gave no thought to. The <a
  103. href="http://hostap.epitest.fi">HostAP</a> driver and software
  104. are what allow a Prism based 802.11b card to act as an access
  105. point. Apparently this was written for Linux but it is
  106. available on BSD too.
  107. </p>
  108. <p>
  109. <a href="https://www.openbsd.org">OpenBSD</a> has a hard won
  110. reputation for security, stability, and everything else I am
  111. looking for. It was the natural choice, and many other people
  112. on the Soekris mailing list have discovered the same thing.
  113. There is even a project called <a
  114. href="http://opensoekris.sourceforge.net">OpenSoekris</a> which
  115. will help set up a Soekris based system from an existing OpenBSD
  116. install.
  117. </p>
  118. <p>Some of the key features of OpenBSD are:</p>
  119. <ul>
  120. <li>A great <a href="https://www.openbsd.org/faq/faq6.html#PF">packet filter</a>
  121. with which to make a firewall and NAT engine</li>
  122. <li>An <a href="https://www.openbsd.org/faq/faq13.html">IPsec</a> engine</li>
  123. <li>Plus hardened services like a DNS server</li>
  124. </ul>
  125. <h1>Security</h1>
  126. <p>
  127. Sure WEP can be cracked, so can a copper cable network, it just
  128. requires more intrusive physical access. Even more intrusive is
  129. tapping into fiberoptic cables, but that too is possible. Real
  130. security requires top strength crypto and a great solution
  131. is <a href="https://www.ietf.org/html.charters/ipsec-charter.html">IPsec</a>.
  132. </p>
  133. <p>
  134. IPsec, via the ISAKMP protocol, can handle client authentication
  135. via passphrases or x.509 certificates. No need to worry about
  136. 802.1x or proprietary enhancements to WEP. IPsec is extremely
  137. strong and isn't tied to wireless networks. So, the security
  138. portion of the plan is:
  139. </p>
  140. <ol>
  141. <li>Deny all access from the internet interface</li>
  142. <li>Allow all local clients access to DHCP and ISAKMP</li>
  143. <li>Deny all other unencrypted communications to wireless clients</li>
  144. <li>Allow IPsec traffic from authenticated wireless clients</li>
  145. <li>Allow local administration via SSH</li>
  146. </ol>
  147. <h1>Sections</h1>
  148. <p>The project is divided into the following sections:</p>
  149. <ol>
  150. <li>Introduction</li>
  151. <li><a href="openbsd.html">OpenBSD Configuration</a></li>
  152. <li><a href="diskless.html">Diskless Booting</a></li>
  153. <li><a href="cf-install.html">CompactFlash Installation</a></li>
  154. </ol>
  155. <p>There are also client configuration how-tos:</p>
  156. <ol>
  157. <li><a href="macosx-ipsec.html">Mac OS X IPSec</a></li>
  158. </ol>
  159. <p>
  160. <a class="section" href="openbsd.html">
  161. Next: OpenBSD Configuration &gt;&gt;</a>
  162. </p>
  163. <p><img alt="email address" src="contact.png"/></p>
  164. </body>
  165. </html>