Close
0%
0%

Slackware Home Server

Home solution for Security, Media, Virtual Machine, Backup, VPN, & Proxy Services.

Similar projects worth following
I recently moved to a new house in a new town with a new job, my immediate thought was to set up my computers right this time (instead of the one overtaxed desktop I had running multiple VM's to serve the LAN with various services.) To accomplish this I'm going to connect 6-7PCs + miscellaneous devices to a main server where I will provide tor'd or regular connections, home security services (via zoneminder), automated backup capability (via rsync), limited media hosting (probably plex), vpn services (Open VPN), and kernel virtual machine capabilities to allow for thin client network boots. This is clearly a long term project but one I hope the best for.

This will be a two sided project with both a Hardware and Software Segment but I'll start with hardware first.....that's all for now, more soon to come.

(Pictured in the description is a great bit or wiring which is not mine, but still is awesome and was better than a blank pic.)

This was my initial synopsis of the desired server


Server Design Plan


Overview/Scope


The Server should serve as a multifunctional in house hub which is capable of, but not limited to, Network Traffic Management, Firewall/Proxy Services, Web Services, VPN Services, IP Camera Management, Media Streaming, Multi Client Backup, Virtual Machine Hosting, and Mass Storage of Client Data.

As it will only be expected to serve 3 primary workstations and as many as 8 secondary clients, being an in-home server, the overall requirements should remain relatively low in comparison to most enterprise servers.

Hardware


Motherboard/Processor/Memory Reqs.
64-bit X4 Processor >= 3.2GHz
>= 16 Gb DDR 3 1600
PCIe 3.0
USB 3.0 / eSATA
SATA III
AMD-V / Intel VT (Virtualization Capability)

Networking Reqs.
>= X2 Gigabit Ethernet Adapters

Storage Reqs.
>= 1 128GB SATA III SSD
>= 3 1TB SATA III HDD*

1 3.5” Multi-Drive RAID Enclosure (must correspond to HDDs)


*These disks may be greater in size than 1TB and greater in number than 3, and may or may not be SSD’s, but they should ideally be identical

Power Reqs.

>= 400 watt PSU (main unit)

Cooling Reqs.
>= 2 250mm Fans
>= 2 120mm Fans

Software


Operating System
Slackware 64-bit Linux Server

Services
dhcp-3 (Network Management)
iptables (Firewall)
Tor (Proxy)
Kippo (SSH Honeypot)
LAMP Server (Web)
OpenVPN (VPN)
ZoneMinder (IP Camera Management)
Plex (Media Server)
rsync (Backup)
KVM (Virtual Machine Hosting)
NFS (Mass Storage)
SSH (Administration)
SFTP (Administration)

Other Packages
/Slackware-64/D Package (Compilers & Dev Tools)
/Slackware-64/K Package (Linux Kernel Source)
multilib gcc & glibc (multi library support for 32-bit & 64-bit programs)


Implementation


Arrangement/Configuration
The main board, components, & primary SSD will reside in a single chassis/rack enclosure. The secondary network storage/backup hard disk array will be in a separately powered and cooled enclosure and connect with either an eSATA or USB 3.0 Depending on RAID hardware election. We will also mount/arrange various network devices and provide a system for surge protection and eventually temperature and voltage monitoring as well as a battery backup for the entire system.

Network Configuration
The major network components consist of the Cable Modem, one or more Gigabit Switch(es), one or more Wireless Access Point(s), CAT6e Ethernet Cables, several RJ45 Wall Plates, the Server, and multiple Client Devices.

The Physical Arrangement will bring the internet connection through a wired connection from the Cable Modem into the servers 1st NIC Device and out from the 2nd NIC Device into the switch, the switch will in turn be wired to the WAPs and Wall plates where it will subsequently provide access to the Client Devices through both wired and wireless connections. The use of CAT6e and Gigabit devices will ensure maximum internet throughput and LAN connection speed.

The Logical Arrangement of the network will have the server’s 1st NIC Device Acquire the external IP Address from the Cable Modem and Create one or more Domain(s) (DHCP) which will allow for the routing of traffic to multiple devices through the use of a static gateway IP assigned to the 2nd NIC Device and the assignment of internal IP Addresses of downstream devices. All traffic routed through the Server (In & Out) will be filtered through the Firewall, and depending on the connection, a proxy service.

Services

DHCPThe Domain Host Controller Protocol provides a service which can create any number of domains and subdomains for the sake of routing internet signal and creating LAN structure.
iptableProvides specific instructions as to what traffic is allowed or disallowed based on address, port, authentication, and/or traffic pattern based rules.
TORThe Onion Router Proxy will allow any clients connecting through it to appear to be connected from the location of the remote node server rather than their own MAC & IP Address and provide user with a level of anonymity.
KippoKippo SSH Honeypot, is a primarily outward facing...
Read more »

  • Gigabit Switch

    Thaddaeus12/11/2015 at 08:41 0 comments

    So after a nice long time of not getting anything done, I've finally got my 16 Port switch put into use. Currently the settings are consistent with an unmanaged switch as all ports are currently identified as untagged within the default VLAN profile.

    So while for now it has ports 1-16 generally unmanaged other than some QoS traffic prority settings, with my modem connection set as the highest priority, and my major workstations set to the next lowest, and my house WiFi set to medium. Eventually, this switch's VLAN setting will help compartmentalize various network groupings.

    Ultimately the primary internet facing VLAN will be setup to include workstations and other end user devices (Port 1 + 2-8?), a second VLAN will manage internal exchange between server and internal devices (Ports 2-12?), and then a third VLAN will be primarily configured as the servers internet facing connection (1 + 9-12.) The remaining 4 ports are unspoken for as of yet and will likely be disabled until they get brought into the arrangement (most likely for wired video devices or WAP's).

    Another function of this switch is the trunk capabilities (Link Aggregation Grouping), If my server were to include 4 ethernet cards, I can have 4 connections from server to switch to optimize access speeds and reliability by providing multiple channels of connection to avoid as much delay as possible with multiple clients trying to access resources simultaneously.

    Much of this is just my initial conception and I'm sure future research and situational reality will prove this needs to be done differently, but for now I'm just glad to have some progress. Hopefully after the holidays I can get to work on the heart of the project itself (the server) and start with the real fun.

  • Preliminary (interim) Server, Network Architecture, and Wiring Considerations

    Thaddaeus06/12/2015 at 08:48 0 comments

    So here several months after my initial project creation, I've actually made some small but measurable progress in the (networking) hardware prerequisites for the system setup, namely I have a basic (albeit not permanent) server solution, a 16 Port TRENDnet Managed Gigabit Switch, and cat6e run throughout my house now; I have tried to keep the current solutions scalable to allow for incremental expansion to reach the projected system, (all except the server, which will need to be completely replaced with different hardware.)


    Preliminary Server

    As Mentioned above, the current server is the only piece that, as of yet, will come to not much use by the end (other than maybe stealing the ethernet controllers it has inside, before depositing the rest back into the closet of lost computers). What it does provide currently is a place holder for the network arrangement consideration, a trial and error environment for testing out different software, and a few of the more basic services. Like the projected machine, the current server is running Slackware 14.1 x86_64, has an extra network file system partition share (just as a basic shared directory for the LAN), SSH, and LAMP Server Software (Apache, MySQL, PHP).

    The similarities with the final server end there. The machine itself has an AMD Athalon 64 3200+ (single core) processor and 2Gb of DDR-400, on an otherwise uninspired motherboard, 2 PCIe Gigabit Network Cards, and an 80GB SATA HDD . I won't run down this server too much as it is more than enough machine for a wide range of practical applications, but overall it is still lacking in terms of not having AMD-V (for network boot VMs), and ultimately is limited on hardware resources, making it insufficient for the full array of desired services. Until recently, this server was part of my stand in gigabit router, used in conjunction with a small gigabit switch, and functioning as the DHCP server, but while it is a reasonable enough "knock around" box, it will never be the end product (maybe it will still get a home somewhere in the final system, only time can tell.)



    Network Architecture

    Since the project happens in incremental segments, the network arrangement has to scale with the project to avoid adding unnecessary complexity before there is a need for it. The initial network setup was admittedly more complex than it is now since rewiring the house (as some of the previous configuration was a result of making due with available equipment at the time.) On the other hand the current configuration is still not perfected and will need some more work before it's truly in keeping with the multi faceted network that is required to get the most out of my home server solution. There is certainly an ongoing consideration in my mind on the best arrangement, ideally I strive for as much simplicity as possible so as to keep server configuration from getting too unwieldy and tedious and avoiding making a full time task of my at home network administration (I can just imagine getting trouble tickets from my roommates....)

    The long and short of the old setup was that I didn't have a gigabit router, just a couple of gigabit switches, and a nicer Netgear that despite supporting 802.11n only had 10/100 ports (which doesn't quite cut it when you're paying for a 300 Mbps Internet connection.) My modem itself, while having 4 gigabit ports, had the routing feature disabled and while I could have gone through the trouble of resetting the modem to default simple enough, I chose to use the interim server as a stand in for the router so I could toy with some different softwares for the eventual server and also have it available as a local development and shared network directory solution (plus, making your own router with spare parts and a switch is much more satisfying.) Ultimately the network was split into 2 domains, the first originating from the interim server and spanning through the two gigabit switches, the other from the 10/100 Netgear router which was plugged...

    Read more »

View all 2 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates