-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Installera Virtualbox och skapa en ny FreeBSD 64 maskin enligt:
Hämta ftp://ftp.se.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-disc1.iso
- 1 CPU
- 1 gb ram
- 10 gb hdd
- Byt från NAT nätverk till Bridge.
- Montera CD med iso fil.
- Starta den virtuella maskinen.
När du startar upp FreeBSD från cd, välj följande:
saknar skärmdump på alternativet swedish iso
Välj ett hostname som du kommer peka i dns. Glöm inte peka hosname mot externt IP i dnsen, gör det redan nu för att vara säker.
Kryssa ur (med hjälp av mellanslag) games, lib32 och ports.
Välj Auto (UFS)
Välj Entire Disk
Välj GPT
Välj Finish
Välj Commit
Vänta på att installationen går färdigt.
Sätt ett root lösenord.
Välj det inbyggda nätverksinterfacet.
Välj Ja, du vill ha IPv4
Välj Nej, du vill inte ha DHCP.
Lägg in ett IP manuellt.
Säg att du INTE vill ha IPv6 (kräver eget /64)
Lägg till två namnservar.
Välj Nej.
Välj Europa.
Välj Sweden.
Välj Ja.
Välj bort dumdev (du avmarkerar med mellanslag).
Välj Ja, du vill lägga till en användare (annars kan du inte logga in på ssh)
Fyll i uppgifterna, tänk på att lägga till den nya användaren i gruppen wheel. Sätt lämpligvis samma lösenord som till root.
Välj exit.
Välj No.
Mata ut den virtuella CD:n och välj reboot.
Vänta på omstart av systemet.
Vi fortsätter i Terminal, med ssh.
ssh openvpn@ip
su
freebsd-update fetch install
# Tryck på enter för more sen q för quit.
pkg install -y nano screen bash git openvpn apache24 php56-openssl php56-session php56-gettext mod_php56
bash
Autostart i freebsd
nano /etc/rc.conf
Lägg till följande längst ner:
apache24_enable="YES"
firewall_enable="YES"
firewall_type="open"
gateway_enable="YES"
natd_enable="YES"
natd_interface="em0" # Om ESXi justera till vmx0
natd_flags="-dynamic -m"
openvpn_enable="YES"
openvpn_configfile="/usr/local/etc/openvpn/server.conf"
rm -fr /usr/local/www/apache24/data/
git clone https://github.com/nblom/openvpn-php.git /usr/local/www/apache24/data/
chmod 777 /usr/local/www/apache24/data/
cp /usr/local/www/apache24/data/apache.conf /usr/local/etc/apache24/Includes/apache.conf
service apache24 start
mkdir /usr/local/etc/openvpn/
cp /usr/local/www/apache24/data/server.conf /usr/local/etc/openvpn/
openssl dhparam -out /usr/local/etc/openvpn/dh.pem 2048
Anropa index.php via curl (så skapas rätt filer med rätt behörighet)
curl localhost
Flytta sen openvpn filerna och kopiera ca certfikatet.
mv /usr/local/www/apache24/data/openvpn-server.* /usr/local/etc/openvpn/
cp /usr/local/www/apache24/data/ca.crt /usr/local/etc/openvpn/
chmod 600 /usr/local/etc/openvpn/openvpn-server.key
Lägg till synkronisering av datum och tid i crontab.
ntpdate ntp1.sth.netnod.se
nano /etc/crontab
00 * * * * root ntpdate -s ntp1.sth.netnod.se
Konfigurera OpenVPN
Justera push "route 192.168.x.0 255.255.255.0"
nano /usr/local/etc/openvpn/server.conf
Och slutligen, starta om hela maskinen.
reboot
För att openvpn ska fungera behöver du mappa externt ip till internt för UDP port 1194
Exempel i Halon:
pass in quick on wan proto udp to wan port 1194 rdr-to 192.168.0.x label OpenVPN
Instruktion behöver kompletteras.
/usr/local/bin/VBoxManage list vms
/usr/local/bin/VBoxManage registervm path till openvpn.något
LaunchDaemon fil för automatiskt start headless:
sudo nano /Library/LaunchDaemons/se.lop.virtualbox.openvpn.plist
Lägg in namn om du inte döpte maskinen till "OpenVPN"
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>se.lop.virtualbox.openvpn</string>
<key>ThrottleInterval</key>
<string>120</string>
<key>UserName</key>
<string>root</string>
<key>GroupName</key>
<string>wheel</string>
<key>Nice</key>
<integer>10</integer>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/VBoxManage</string>
<string>startvm</string>
<string>OpenVPN</string>
<string>--type</string>
<string>headless</string>
</array>
</dict>
</plist>