From owner-freebsd-chat@freebsd.org Wed Mar 14 12:02:00 2018 Return-Path: Delivered-To: freebsd-chat@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EAD11F4C850 for ; Wed, 14 Mar 2018 12:01:59 +0000 (UTC) (envelope-from matthew@FreeBSD.org) Received: from smtp.infracaninophile.co.uk (smtp.infracaninophile.co.uk [81.2.117.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.infracaninophile.co.uk", Issuer "infracaninophile.co.uk" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 80C0D7D22D for ; Wed, 14 Mar 2018 12:01:59 +0000 (UTC) (envelope-from matthew@FreeBSD.org) Received: from leaf.local (unknown [88.202.132.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: m.seaman@infracaninophile.co.uk) by smtp.infracaninophile.co.uk (Postfix) with ESMTPSA id EEF3516D8 for ; Wed, 14 Mar 2018 12:01:50 +0000 (UTC) Authentication-Results: smtp.infracaninophile.co.uk; dmarc=none (p=none dis=none) header.from=FreeBSD.org Authentication-Results: smtp.infracaninophile.co.uk/EEF3516D8; dkim=none; dkim-atps=neutral Subject: Re: Suggestion for network-related project To: freebsd-chat@freebsd.org References: <5aa9072a.1c69fb81.c1bc2.75b3@mx.google.com> From: Matthew Seaman Message-ID: Date: Wed, 14 Mar 2018 12:01:49 +0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <5aa9072a.1c69fb81.c1bc2.75b3@mx.google.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-chat@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Non technical items related to the community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Mar 2018 12:02:00 -0000 On 14/03/2018 11:27, Ahmad Syahir Shahrin wrote: > I originally posted this on the forum but someone think I would fare > better on the mailing list. I don’t know if this is the right > mailing-list to post but I’ll take my chance. Here it is. You'ld probably find one of the more technical lists more useful, especially once you've narrowed down the scope of your project. freebsd-questions@ is good for less directed questions, and freebsd-hackers@ is good for more technical discussions which don't fit into any of the more specific lists. > I need to come up with a 2-3 months duration school project but > couldn’t figure what to do. I enroll in data communication and > networking course but the main focus has always been about configuring > interfaces, addressing, routing, NAT, ACL and pretty much what they have > on Cisco’s network academy for routing & switching track. I also make > myself to understand the different protocols used in basic TCP/IP > communication and their format(Ethernet II, ARP, IPv4, IPv6, NDP and > etc.). I’m thinking about using virtualization such as VirtualBox and > GNS3 and of course I’d love to squeeze FreeBSD into the picture wherever > possible. I can program a little bit in C, Java, Perl and shell but I > wouldn’t count that much on them. That said, I’d be very grateful for > any suggestion. One thing you might find interesting is looking at how you can manage an IP address range allocation across a diverse range of client systems: routers, firewalls, switches, servers, end-user client machines in an efficient and error-free way. There's plenty of prior art in doing this, so a lot of the project would be researching how other people / companies have done this. What all those things should have in common is some single, central "source of truth" -- generally known as an IPAM system. (For example, this is a good product: https://github.com/digitalocean/netbox -- it needs a bit of porting work to get it running on FreeBSD, which I have been looking at, but not got very far with yet.) The interesting part comes in how you integrate your IPAM database with DHCP and DNS servers, with directory systems like FreeIPA or Active Directory, with configuration management software like Puppet or Ansible, etc. etc. particularly at scale, where the importance of having a single central source of truth is magnified. Cheers, Matthew