Open main menu

Linux and Unix Users Group at Virginia Teck Wiki β

Changes

Infrastructure

8,062 bytes removed, 16:23, 13 June 2021
Current Setup
This page documents VTLUUG's infrastructure post-[[CVL eviction]]. It is intended as a scratch pad ofsorts for organizing infrastructure changes, since [[Infrastructure:Log]] is incredibly out of date, andthere are a lot of details which must be sorted out before major infrastructure changes can be made.
== Physical Infrastructure ==
=== NFS Hosts ===* [[Infrastructure:Dirtycow|dirtycow]] - Primary NFS server, 8x2TB raidz2 array* [[Infrastructure:Cyberdelia|Cyberdeliacyberdelia]] - OFF, 7x1TB raidz2 array, sitting on shelf instead of shelf === VM Hosts ===* [[Infrastructure:Meltdown|meltdown]] - Primary VM/docker host* [[Infrastructure:Spectre|spectre]] is the only connected physical machine right now- Secondary VM/docker host,for example user VMs === Router ===besides * [[Infrastructure:Temp88191Shellshock|our routershellshock]]. It contains 48 GB of memory- 3 disk RAID1 array with 4 ethernet interfaces; only eth4 is connected and is attached to br0. All hosts are on our own 1-gbit Gb/s port with[[Infrastructure:Temp88191Joey|temp88191joey]], a gateway featuring ARP proxying, and partial NDP proxying.For global DNS changes under ece.vt.edu, server room access, and getting hosts added to full delegation of the ARP proxy,contact [mailto2607:b400:jkh@vt.edu John Harris] or [mailto6:rdehart@vt.edu Roddy Dehart]cc80/64 prefix.
Virginia Tech has started blocking inbound ports 22 and 3389 and outbound port 25 at the campus border, in a move
[[User:echarlie|echarlie]] is calling [[gp:Cyber Auschwitz|Cyber Auschwitz]]. Contact itso-g@vt.edu for firewall exceptions.
When deploying new hosts, make ssh listen on both 2222 and 22. [[Infrastructure:Acidburn|Acidburn]] currently listens on 443 3128 as well.
All other VTLUUG-owned servers are currently stored in === Other hosts ===* [[userInfrastructure:pewWood|pewWood]]is sitting in our rack turned off because we don's apartment, with the exception t have a use for it currently. It is in a 4U case capable of fitting several GPUs.* [[infrastructureInfrastructure:sunwaySunway|sunway]]and a SuperMicro server, which were all transferred to WUVT. The list of these machines includes [[Infrastructure:Wood|Wood]],and a variety of other servers, including our old LXC Older hosts and the old mirrorhave either been thrown out or given to members.
See [[GoalsVTLUUG:Strategic_plan]] for things we plan to do in the future.
== On the Network Architecture ==
''Further Information: [[Infrastructure:Networking]] and [[Infrastructure:Network]]''
[[File:Infra2016Infra2019-network.png|thumb|500px|A simple network diagram by [[user:mjhpew|mjhpew]]. '''Update June 2021: Joey is dead, long live Joey. Shellshock is the new router. Cyberdelia is off.]]
Because VTLUUG infra no longer has IPv6 access, we are limited by the IP addresses assigned to us, and what we
can get through DHCP from ECE. As a consequence, all services which do not need to have a global IP should move
to the internal network on the 10.99.x.x/16 subnet. In the future, it may be wise to bridge this network to an
ethernet port on cyberdelia, so that a switch can be used to network our other services. When we have rackspace
to do so, [[Infrastructure:IPsec|VPN]]/[[Iodine]] access to the internal network will be necessary.
We currently have some services with public IPv4 address, and all hosts have an internal IPv4 address on the 10.98.x.x/16 subnet and an IPv6 address assigned via SLAAC.In the future, [[Infrastructure:IPsec|VPN]]/[[Iodine]] should be used. In theory, services can be provided via a hidden service (read: such as [[w:Tor|Tor]]), but that introduces other complications.Alternately, services can require use of the [[Infrastructure:IPsec|VPN]] on [[Infrastructure:acidburnAcidburn|acidburn]],
[[Iodine]], or [[Secure Shell|ssh tunnelling]], although all of these limit usage to members with a shell account.
All of these have the benefit of NAT transversal, however.
== Services ==
''Further information: [[:Category:Services]]''
=== Critical === * [[Infrastructure:Acidburn|Acidburnacidburn]]
** Shell server
** [[Email]]
** [[Wadsworth]]
* [[Infrastructure:RazorChimera|Razorchimera]]** LDAPFreeIPA
* [[Infrastructure:Sczi|Sczi]]
** Website
*** Wiki
*** Main Page
*** snapfeed
*** linx
*** public file shares** git[https://bash.vtluug.org vtbash]* [[Infrastructure:CyberdeliaDirtycow|Cyberdeliadirtycow]]** All the above services** VMs Storage for projects** other all primary services** Tank*** NFS- ZFS pool name is cistern*** milton_srv (website files) [[Infrastructure:AcidburnMeltdown|Acidburnmeltdown]] and the website ''must'' be accessible through real ** VM host for above services, and it is preferable that [[Infrastructure:Cyberdelia|Cyberdelia]] is too. This means we must use our public IPv4 Addresses allotted by ECE.
=== Other (not all functional) ===* [[Tahoe-LAFS]]** Should be on hidden service.* Jitsi Meet** Should be public* User websites** Hosted on [[Infrastructure:MiltonAcidburn|Milton]]/[[Infrastructure:Sczi|Scziacidburn]], so will be public** Of course, domain owners have to set up their DNS correctly.* Diaspora*** use of public or hidden service doesn't matter, assuming it and the website ''canmust'' be run as a [https://groupsaccessible through real services, and it is preferable other hosts are too.google.com/forum/#!topic/diaspora-discuss/mhAOXarEJuc hidden service].* [[Iodine]]** On acidburn. Relies on Acidburn being listed as NS for <code>iodThis means we must use our public IPv4 & IPv6 Addresses allotted by ECE.vtluug.org</code>* [[Infrastructure:IPsec|IPsec Tunnel]]** On acidburn
== Website details ==
''Main article: [[Infrastructure:Sczi]]''
=== Current Setup ===
 
All vtluug websites are run on nginx on [[Infrastructure:Sczi|sczi]]. These sites are currently functional:
* gobblerpedia.org
* hokieprivacy.org
* linx.vtluug.org
* vtluug.org
* wiki.vtluug.org (this redirects to vtluug.org/wiki/)* bash.vtluug.org* vtluug.org/users/~$user
All of these sites exclusively allow for the use of TLS connections. All services use automatically updated
==== Main Page ====
The main VTLUUG page was scraped from the [[w:Internet Archive|Internet Archive]] and added created as a github page at[https://vtluug.github.io vtluug.github.io], and is reverse-proxied through [[Infrastructure:Sczi|sczi]].
==== Wiki ====
 The wiki currently runs fully on MediaWiki hosted on nginxusing a [https://github. Postgres is used for com/vtluug/mediawiki-docker modified version of the database and authenticationis through LDAPofficial mediawiki docker image]. MediaWiki is running You can auth with the current stable version as of March 2017admin account, courtesy hard work by[[userUser:pewwiki-admin|pewwiki-admin]]or a Google account. See note on [[Main_page]] about why LDAP isn't working yet.
===== Gobblerpedia =====
Runs on the same Mediawiki instance as this wiki. Similarly to LUUGWiki, only Google accounts or the admin user are supported logins.
Runs on the same Mediawiki instance as this wiki, with its schema in the same Postgres database. Currently, you can authwith LDAP, pre-existing accounts, or a Google account in the VT hosted domain. ==== Linx ==== Uses [[User:andreim|aam]]'s [https://github.com/andreimarcu/linx-server linx], and is an identical implementation to his site[https://linx.li linx.li]. One of the few sites with a complete startup script. The maintenance is currently the responsibilityof aam, however this is subject to change, pending his retaining root access on sczi. === Historically === Beyond these, we have data and nginx configurations for these (deprecated) sites, whichwere previously hosted on milton: ==== Needs Restoration ====
These are VTLUUG services that haven't yet been properly restored:
* [https://github.com/mutantmonkey/foodforus foodfor.vtluug.org] - For [[Wadsworth]]'s .pickfood and .foodvote commands. This is [[User:Timelord|jpo's]] fault.
* git.vtluug.org - git hosting; previously a redirect to gitweb with gitosis as the SSH backend
* gitweb.vtluug.org - git hosting; previously gitweb
* [https://github.com/vtluug/campusmap map.vtluug.org ] - [[Openstreetmap|OSM]] (gobblerpedia still relies on this)* vtbash.org - based map of VT QDB (recently a static version was functional)* users.vtluug.org - member hosting of acidburn home directories
===Historically = Deprecated ====These are no longer needed but we should preserve the data/config:* ccdc.vtluug.org - website used for the [[Collegiate Cyber Defense Competition]] in the spring of 2011.* nagios.vtluug.org - was used for monitoring for a period but not kept up-to-date; the primary issue was that infrastructure, being hosted on the same server, tended to fail all at once* uniluug.org - deprecated project [[uniluug]]* security.ece.vt.edu - REDACTED* wargame.vtluug.org - vtluug's wargame pre-vtcsec* munin.vtluug.org - former attempt at monitoring* webchat.vtluug.org - channel webchat; version of the service still runs on the vtluug website as an embeded frame from freenode's website. This should be disabled.* cdn.vtluug.org - member website* randynance.info - member website* jessicaandchristopher.net - member website* vtcybersecurity.org - member website from pre-csec days Prior to the current site, which was written in Python using Django starting in 2010 and deployed in 2011, the VTLUUG website was aWordPress instance. The files for this still exist. Much of the original django deployment was highly dynamic, with an identi.cafeed, automatic calendar updates, and other features. Additional files and configuration data exist for multiple versions of dokuwiki and mediawiki. There are also files for a NewsBlur installation which was never functional, and "bitcoin," the purpose of which is unknown. A static version of vtbash.org is hosted at [https://vtluug.org/bash/index.html https://vtluug.org/bash/index.html]. Until recently, VTLUUG ran a Gopher server on Milton, with a small welcome page and access to /files. Git hosting was also provided; authenticated access was over SSH with [https://github.com/tv42/gitosis gitosis] and public access was via Gitweb and the insecure Git protocol. vtluug.org/public/$user/ was previously a source directory of files placed in a user's $HOME/public directory on NFS.<!--When? I thought it was always users.vtluug.org? -- I don't think it matters. the point is that this ''was'' a feature--> VTLUUG members also ran '''mirror.ece.vt.edu''', although it was never an official VTLUUG project. The IPv4 allocation for this domain is still available. PostgreSQL tables exist on milton for foodforus, jandc, mediawiki, mewsblu, sharedwiki, uniluug, vtluug_wiki, and wargame_bbs. Moreresearch is necessary to determine what these are for. There are also a collection of mySQL databases on milton which maybe desirable to archive and store. === Considerations for the future === It would be preferable to keep all existing sites functional. [[user:andreim|Aam]] suggested the use of [https://caddyserver.com/ caddy]to replace nginx, especially on static sites, because it provides automatic letsencrypt. Most likely, this will not be used, though,in favour of manually configuring letsencrypt (because caddy is not in the repositories). It is also important to ensure there are '''startup scripts''' for sczi, so that a reboot of it doesn't result in a 10-hour website outage. ==== TLS Encryption ====All sites should move to automatic letsencrypt certificates within the next few months. letsencrypt is still in beta, but it provides fully functionaland low-hassle 3-month certificates. They will have integration for nginx soon, which will decrease the complexity of getting certs. The version of OpenSSL on milton does not support TLSv1.1 or TLSv1.2 It may also be of interest to the club to revive [[monkeysphere]] signing on the servers. ==== Project Hosting ==== Most vtluug internal projects (e.g. HokiePrivacy) are currently hosted on git repositories on sczi. How to move forwards with these is stillindeterminate. For public hosting, there has been some conversation about using [https://github.com/gogits/gogs Go Git Service (gogs)], for public,www-viewable git repositories. ==== Gobblerpedia ==== [[gp:Main page|Gobblerpedia]] is effectively non-functional because account creation was disabled toprevent spam. This needs to be addressed by adding captchas which are Blacksburg-specific, limitingaccount creation access to local IP addresses, '''or''' enabling some form of LUUG-managed accountcreation. One suggestion was using CAS/Login services to authenticate, however that makes it difficultfor Blacksburg residents to add content, and has other disadvantages. ==== VTLUUG Main Page ==== This needs to be kept up-to-date, and have some way of adding calendar information. [[user:Echarlie|echarlie]]would like a simple static site with some clean CSS, to avoid the clusterf*ck that is re-enabling uwsgi at thecurrent time.
==== VTLUUG Wiki ====See [[Dead_projects]] for historic information
Meeting creation script needs to be re-implemented.=== Goals ===See [[VTLUUG:Strategic_plan#Web_Services]] for future goals involving web services
== Addressing ==
''Main article: [[Infrastructure:Network]]'' VTLUUG currently has DNS with namecheap, however all domains have been re-registered with gandi undervtluug.net. Message officers for access (please don's own account, to replace the mixture of mutantmonkey-holdings and vtluug-held domains on multipledifferent registrarst be scared :D).
We currently hold the IPv6 prefix <code>2001:470:8:6d9::/64</code> from HE's allocation due to our tunnel.
which is VT's largest allocation.
An important limitation of the HE tunnel is that they block port 25 by default. https://linx.vtluug.org/ips1.txt {| class="wikitable"!globally addressable!ECE DNS!Name!fucntion!internal address|-| 128.173.88.78| luug.ece.vt.edu.| [[Infrastructure{:sczi|sczi]]| New webserver| <!--10.99.0.27??--> 10.99.0.150 (Currently DHCP)|-| 128.173.89.244| luug0.ece.vt.edu| [[Infrastructure:cyberdelia|cyberdelia]]| VM Host| 10.99.0.1|-|128.173.89.245 | luug1.ece.vt.edu. | [[Infrastructure:acidburn|acidburn]]| shell server. Also has MX record for vtluug.org and NS for iod.vtluug.org| 10.99.0.4|-| 128.173.89.246 | luug2.ece.vt.edu.| [[Infrastructure:milton|milton]]| Old webserver (dead)| 10.99.0.2|-| 128.173.89.247| luug3.ece.vt.edu.| [[Infrastructure:razor|razor]]| LDAP; external networking is fucky| 10.99.0.22|-| 128.173.88.104 | luug4.ece.vt.edu| pfsense| HE tunnel runs through here (turned off)| 10.99.0.104 |-| 128.173.88.36| mirror.ece.vt.edu.| mirror| not in use||-| 128.173.88.191| luug5.ece.vt.edu.| [[Infrastructure:Temp88191|router]]| IPv6 is broken, but it still does RAs||-|None| 172.16.10.13| archiveteam-warrior| [http://archiveteam.org/index.php?title=ArchiveTeam_Warrior Archive Team Warrior]| off?|Network}== Deprecated IPs ==IPs we were using at some point (by reclaiming CVL IPs, etc), or are mentioned in /etc/exports on Cyberdelia* 128.173.88.161 (security.ece.vt.edu) - was once milton's IP until luug IPs got routed behind router.ece.vt.edu.* 128.173.88.145 (cvl05.ece.vt.edu) - was once snapfeed's IP, reclaimed by bmckagen. * 128.173.88.131 (dog.ece.vt.edu) - we have a Sun box labeled "dog.ece.vt.edu" but the IP appears to be in use now for VMware ESXi. It can be arped from cyberdelia. 
[[Category:Infrastructure]]
[[Category:VTLUUG:Projects]]
[[Category:2016]][[Category:2017]]
[[Category:Featured content]]