Setting up OpenVPN server

Please read through the entire tutorial BEFORE doing anything. If you do not read through this you might end up with some unanswered questions on how to do something, that is actually described further down. Thanks.

Test setup: XEN based VPS. 256 slice from Slicehost running Debian Lenny 64-bit

Let’s get started!

The first thin you want to do is install OpenVPN:

apt-get update && apt-get install -y openvpn

If everything above goes as it should, OpenVPN is now installed and we will continue to configuring it.

The following 4 commands will go to the configuration directory, copy easy-rsa (which we will use), copy a sample of the configuration file and unpack the sample.

cd /etc/openvpn
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* .
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz .
gunzip server.conf.gz

Now that these files are in place it’s time to start creating keys and configuration. For this we will use the easy-rsa package supplied by OpenVPN. This package makes the creation and signing of keys much easier.

Next thing we are going to do is set the variables for easy-rsa to use. These must be set every time you want to use easy-rsa if you have been logged out!

. ./vars
source ./vars

Make sure that our directory for keys exists, has the correct settings and such. Note! If  you have any keys at this point, they will be removed!

./clean-all

Set up your Certificate Authority

./build-ca

We need a certificate and a key for the server itself, let’s build those. The second argument is the name of the server. If you choose to change this from server (there’s not really a reason to do so), then remember to change this as well in the config changes we make later on.

During the build-key-server process you will be asked for various information, you can choose to change this if you want, but for the setup to work it is not necessary. Just make sure that Common Name is server

./build-key-server server

We need to build the Diffie-Hellman parameters.

./build-dh

We are basically done with building the server now, but at this point no users will be able to log on and use the VPN. We use the build-key command (remember that vars MUST be set for this to work, if you want to create users at a later time). I will create a user called “fbh” for myself.

Again, I will be asked for some information and again I can choose whether to enter this or not.

./build-key fbh

Next thing we need to do is edit the server configuration file to know where these keys are located, use your favorite editor and open the server.conf file and find the part that holds paths to keys. Change it as following. (Note! If you change the servername from “server” above, this is where you need to change the keyname)

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key

# And a little further down

dh /etc/openvpn/keys/dh1024.pem

For now, leave all other parameters  at the default.

You are now done with a basic OpenVPN server. If the LAN you are connected to uses the range 10.8.0.0/24 currently, you should edit the server.conf file and find the line that says “server 10.8.0.0 255.255.255.0″ and change it to something else, otherwise you will encounter a conflict!

Tunnel internet access through the VPN as well

With the above setup you will be connected via VPN to the network of the VPN server, however you will not be browsing the internet through the VPN server. As you might think, this configuration is not done in the client. You will need some changes to the OpenVPN server for this to work, as the server pushes configuration to the client.

Again, edit /etc/openvpn/server.conf and add the following line to it:

push “redirect-gateway def1″

Now it will set the client’s default gateway to go through the OpenVPN server upon connect – however, it will not work yet and there are multiple things to this.

At first, you might currently be using your ISP’s DNS servers, and they will probably not allow you to do recursive lookups when not connected through their network. So you need to push a set of open DNS server as well, or set up your own on the server (this tutorial does not cover that). In this tutorial we will use Level 3 Communications DNS, as they have a set of free, public DNS servers that responds quickly. Add these lines to your configuration:

push “dhcp-option DNS 4.2.2.1″
push “dhcp-option DNS 4.2.2.2″
push “dhcp-option DNS 4.2.2.3″

We’re getting closer now, but it might STILL not work. Also, you must have NAT between eth0 and tun0 enabled in iptables. You will need to know the name of your public interface to do this. In most cases it’s eth0. To enable it run these commands:

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o tun0 -m state –state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

If you want these to be run whenever the server reboots, to make sure this works, add the 3 lines to /etc/rc.local before the “exit 0″ line. This script is being run every time a multiuser level is started up on the server.

Almost there! The last thin you need is to enable forwarding, do this with:

echo 1 > /proc/sys/net/ipv4/ip_forward

And done! Restart OpenVPN and make sure that it starts up

/etc/init.d/openvpn restart

Your VPN server is now able to tunnel connections and you are able to connect to the internet through it.

When I have the time, I will be publishing a tutorial on setting up clients as well.

Post Danmark? Latterligt!

De kære fjolser i Post Danmark vil gerne have os til at sende mere post. Det gør vi ikke – og jeg gør slet ikke. Jeg startede egentlig med at sende fakturaer fra mit firma ud med posten, fordi det så pænt og professionelt ud at gøre dette.

Men er du egentlig klar over hvad det koster for en virksomhed at lave en regning? Undrer du dig over at du måske skal betale 15-20 kroner for at få tilsendt din telefonregning med posten? Jeg er nødt til at lave et sidespring fra hovedemnet her, for det er egentlig endnu en spændende ting. Jeg laver lige et kort regnestykke for hvad det koster at lave en regning.

Brevpapir med logo mv. – ca. 30 øre pr. stk.
Udskrift af regning, slid på printerudstyr ca. 50 øre pr. stk.
I alt pr. ark – 80 øre

Konvolut med logo og afsender ca. 1.25 kr. pr. stk.
Porto – 5,50 kr – max 50 gram.

En typisk telefonregning eller lignedne er der ca. 3 ark. Så udgiften for virksomheden der sender regningen er:
3 x 0,80 = 2,4 kr
Konvolut og Porto = 6,75
Total 9,15 kr (og den pris gælder kun til Januar 2011, så stiger portoen til 8 kroner for et normalt brev. Så bliver totalprisen 11,65 kr)

Oven i den udgift kommer naturligvis administrationen af IT systemet til at lave skidtet, løn til de mennesker der skal lave trykket og så videre. Når alt kommer til alt, så vil jeg tro at en prissætning på 18 kroner for at få en regning på papir er lavt sat.

Nå, men tilbage til emnet!

Fordi det er så dyrt at sende mine regninger med posten, så ryger de nu i en e-mail i stedet. Jeg trykker på en knap i mit regnskabssystem og vupti så er der sendt en e-mail med en regning, nemt og bekvemt – i modsætning til at bruge tid og energi på det andet. Da man er en mindre virksomhed så skal man i øvrigt også afsted og finde en postkasse at putte sit brev i.

Fordele ved at sende det med Post Danmark:
- Det virker professionelt (Et fungerende IT system er mindst lige så professionelt som en printer)
- Det ser pænt ud

Ulemper ved at sende med Post Danmark:
- Det koster penge
- Det tager tid
- Post Danmark er gode til at smide breve væk
- Hos kunden bliver et stykke papir lettere væk
- Man kan ikke copy/paste kontonumre og beløb ind i sin netbank
- Det koster penge (Ja, igen, for det koster mange penge)

Altå, min konklusion er at det er ALT for dyrt og besværligt at sende et brev. Der er også en artikel i Information hvor der snakkes om hvad uddeling af post betyder for miljøet - og det er da meget godt, men den kære repræsentant fra Post Danmark glemmer også ting. Artiklen glemmer fakta.

Han skriver: “Og det er formentlig en overraskelse for mange, at den største belastning opstår, når brevet skrives på computer.” – men HVAD er udledningen i forhold til at skrive skidtet i hånden? Der er ingen konkrete tal. Når han er så præcis, har han så også regnet på CO2 udledningen ved fremstilling af det skriveredskab man skal bruge til at skrive med?

Han glemmer også at de fleste tager BILEN når de skal i postkassen – og der udleder vi blot ved at køre 200 meter tilsyneladende samme mængde CO2 som Post Danmark bruger på resten af forløbet. Derudover, så har postbudet på den vej jeg bor ikke en cykel med en EU scooter, er dens udledning medregnet?

Importopkrævninger

Til at starte med vil jeg vise dig en importopkrævning jeg har fået fra Post Danmark, kig godt på beløbene før du læser videre:

importopkraevning

Jeg har bestilt en DVD med en dokumentarfilm på, den kostede $30 og momsen af varen er derfor 45 kroner. Det er OK. Men se deres gebyr!

Gebyret for at betale 45 kroner er intet mindre end 160 kroner! Post Danmark forstår VIRKELIG hvordan man tjener penge, når ens primære forretning er noget skrammel som ingen gider bruge. Det her er grunden til at monopol er noget fanden har skabt. Den DVD jeg har bestilt som til at starte med kostede 180 kroner kommer altså nu til at koste 385 kroner! Det er en helt fuldstændig åndssvag mængde penge for en DVD.

Egentlig var det en DVD jeg meget gerne ville se, men jeg synes at et gebyr på 160 kroner er fuldstændig urimeligt, så jeg har valgt at betragte de ca. 200 for DVD og forsendelse som tabte penge. Penge jeg hellere vil tabe end jeg vil give de 160 kroner til Post Danmark.

Er livet virkelig så trist?

Som så mange andre danskere og for den sags skyld også alle andre nationaliteter, så har jeg en Facebook konto. Jeg skal have mit daglige gossipfix og vi ved alle, at den eneste grund til at logge på Facebook jævnligt, er for at få det fix.

Nå, men det her blogindlæg handler egentlig om, at jeg synes folk er ufatteligt negative. Det er ikke hver dag, men hver ENESTE dag, der er en eller anden som skal beskrive at en eller anden har været et svin fordi bla bla. At alt bare er træls og det hele er imod én.

I min verden, så er livet præcist så godt (eller skidt) som vi gør det til. Hvis man stiller glasset ude på kanten af bordet, så falder det ned på et eller andet tidspunkt. Der er rigtig mange mennesker der hele tiden stiller glasset på kanten af bordet.

Hvis man gang på gang bliver røvrendt af de mennesker man omgås, så bør man måske overveje om det er de rigtige typer af mennesker man omgås, fremfor at finde flere fjolser og så gang på gang blive skuffet og ked af det over dem?

Tit ser man folk, der om morgenen skriver “alt er planlagt, det er bare perfekt! det bliver en fantastisk dag” – med det, så har de folk sat deres forventninger efter at alt er perfekt og der skal således ikke ret meget til før end, at man om aftenen kan læse “det har været en lortedag! Alt gik galt, det begyndte at regne! Alt mit nye tøj er vådt og beskidt. pis .Hvorfor er der bare ALDRIG noget der lykkedes for mig?” – jeg er af den overbevisning at i langt de fleste tilfælde, så er det fordi man vælger at det skal gå en imod. I stedet for at blive muggen over, at det regner, så burde man måske købe en paraply og nyde det selskab man er i alligevel?

Altså.. afstem sine forventninger og skru drastisk ned for dem. Håb på det bedste, men lad være med at blive skide sur, hvis det hele ikke kører efter din bog. Nyd tingene som de er. Er der noget der går dig skævt, så se at kom videre i stedet for at sidde fast. Lad være med at bære nag, lad være med at være pissesur over ting der ikke rager dig eller ting som du alligevel UMULIGT kan ændre. “Fuck jeg hader det fucking lortevejr og det her lorteland fordi vejret stinker så meget. Fuck jeg hader at Brugsen er begyndt at lukke kl. 17 i stedet for 18, fuck dem de fucking røvhuller! Nu nåede jeg ikke at handle.” Det er ting som du ingen jordisk chance har, for at gøre noget ved – så hvorfor lade dig irritere og blive sur af det? Køb en pizza og så husk, at fremover er det inden kl. 17 du handler.

Prøv at husk på nogle af de små ting, som er helt fantastiske. Når det regner, så gå ud på en græsmark, luk øjnene og mærk hvor dejlig luften omkring dig er lige nu – ikke i går og ikke i morgen.  Når græsset lige er blevet klippet, så stop op et øjeblik og nyd den dejlige duft af nyklippet græs, eller når du alligevel kører forbi en rapsmark, så stå ud og se det smukke syn.

Prøv også at gøre en god gerning for nogle andre mennesker, som er 100% uopfordret og så mærk efter hvor en dejlig følelse det er at have gjort noget godt for nogen andre, som ingen forventinger havde til dig. Du vil blive overrasket.

Jeg har også fundet et klip af Nick Vujicic, et menneske der i høj grad er livsbekræftende. Det er der mange der kunne lære noget af.

Jeg er af den helt klare overbevisning, at vi skaber vores egen lykke. Det er NU vi har livet og det er NU vi skal nyde det og få det absolut bedste ud af det. Der er ingen himmel hvis du opfører dig pænt – og der er heller ikke et helvede hvis du bare fyrer den af. Hvis det skal koste mig 10-12 år i den anden ende, at have levet mit liv til fulde, så skide værre med det! Hellere 60-70 indholdsrige og fantastiske år end 80-90 røvsyge år, hvor det hele er gået op i at tage hensyn og forbehold.

Livet er fantastisk!