Penguin
Blame: LinuxRouterBox
EditPageHistoryDiffInfoLikePages
Annotated edit history of LinuxRouterBox version 15, including all changes. View license author blame.
Rev Author # Line
8 CraigBox 1 AddToMe!
2
1 CraigBox 3 When going to describe this page, I was given a great haiku:
4
5 ''Windows NT crashed.
6 I am the Blue Screen of Death.
7 No-one hears your screams.''
8
9 A perfect introduction to the science of creating a LinuxRouterBox!
10
11 ----
12
13 !!What does a Linux Router Box do?
14
11 JohnMcPherson 15 Connects to the Internet (via ADSL, dial-up, etc), provides [NAT] and 'masquerading' of the connection to any number of computers on your network. Provides a [FireWall]. Allows you to provide a local MailServer, a WebServer, [DynamicDNS], [WebProxy] any of the useful things you might want to do with any server machine.
2 CraigBox 16
17 ----
15 AristotlePagaltzis 18 !! Why would I want to use one?
2 CraigBox 19
20 I quote my parents as a great example; they have a computer, my brother has a computer, and they were all discussing getting ADSL. The parents wanted control of the connection, my brother wanted to be able to use the DSL without their computer being on, and I wanted them not to buy a Windows-only modem :)
21
22 Otherwise, you might just want to learn about Linux, or be able to ensure the connection at your house will still be up when your main PC has gone to a LAN, or crashed, or is turned off at night, or whatever myriad of other reasons you might have.
1 CraigBox 23
15 AristotlePagaltzis 24 !! What you will need
1 CraigBox 25
26 * An old computer - anything from a 486 up is permissable, but if you have to use a 486, chances are someone can give you a Pentium class [CPU] for free.
27 * CD-ROM drive
28 * Network card
29 * DebianLinux CDs
30
15 AristotlePagaltzis 31 This introduction is written with the relatively new Linux user in mind. It is written for DebianLinux because of the ease of installing software. This task is perhaps easier to provide under another distribution (see [SelectingADistribution] for a bit of background) -- if you can figure all this out, you can change distribution.
3 CraigBox 32
33 ----
34
15 AristotlePagaltzis 35 !! Step 1. Install Linux
3 CraigBox 36
15 AristotlePagaltzis 37 This section is being left terse at the moment; make sure to read PartitioningSuggestions. When you're finished this stage you should have a basic Linux installation.
3 CraigBox 38
15 AristotlePagaltzis 39 !! Step 2. Update your /etc/apt/sources.list and dpkg database
4 CraigBox 40
41 See AptSourcesList for information about what this file is and what you might want to put in it.
42
43 When this is done, perform
44 apt-get update
45 This will bring your database up to date.
46
47 !Step 2a. apt-get upgrade
48
49 !!Step 3. Add some extra packages
50
51 Ensure you have iptables installed;
52
53 apt-get install iptables
11 JohnMcPherson 54
3 CraigBox 55
56 !!Step 3. Recompile your kernel
11 JohnMcPherson 57 The default kernel from your distribution may not be set up for firewalling. You will need at the very least iptables support:
58 ("Networking Options" -> "Network packet filtering" and then "IP: Netfilter Configuration" -> "IP tables support" a bit further down).
59
60 Enabling the "Socket Filtering" support is probably also a good idea (in case you want to [DHCP] from the machine, although maybe dhcp-server doesn't require this).
61
3 CraigBox 62
63 !!Step 4. Set up networking
4 CraigBox 64
65 !!Step 5. Obtain firewall
66
6 PerryLorier 67 See PerrysFirewallingScript for instructions on how to do this
4 CraigBox 68
5 PerryLorier 69 !!Step 6. Install Services
7 CraigBox 70
71 See ThingsToDoWithYourLinuxBox for some background info.
5 PerryLorier 72
73 ![DNS]
11 JohnMcPherson 74 Install [BIND]. You can name your internal network easily enough. See NamedNotes. Setup hosts for "smtp", "wpad", "proxy" for your various services. Thusly if you move the smtp server to another machine, a simple DNS change will update all the machines on your network.
5 PerryLorier 75
76 ![DHCP]
77 Install a dhcpd(8) server daemon to work as a dhcp server for the network.
78
79 ![WebServer]
80 To host various reporting services used below.
81
82 ![WebProxy]
14 CraigBox 83 Install [Squid]. If you have a WebServer on the firewall, be sure to setup [WPAD] so the windows machines can configure themselves correctly. You may wish to transparently proxy people through your WebProxy. When configured with a program that can take [Squid] logs and provide reports about it (see SquidNotes). This can be used by parents to monitor their childrens activity on the Internet.
5 PerryLorier 84
85 ![SMTP]
13 JohnMcPherson 86 Install [Exim] or SendMail as a SMTP server for your local network. If you trust your [ISP], configure it's smarthost to be your [ISP]'s [SMTP] server. You should probably bind this to your internal interface only.
5 PerryLorier 87
88 ![SNMP]
89 Install a [SNMP] server (bind it to your local interface only!) and use something like Cacti for graphing bandwidth usage.
1 CraigBox 90
91 ----
92
93 Incomplete; being worked on.
12 CriggieCriggie 94
95
96 ----
97
98 Comment for the end - IPCop [http://www.ipcop.org] is a nice tidy linux firewall install, which deals with dial-on-demand or always-on connections. It runs better on a pentium machine, but 486 is fine too. IPCop sets up squid for web caching, a caching dns server, and standard stuff like an internal DHCP server.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach()