from small one page howto to huge articles all in one place

search text in:




Other .linuxhowtos.org sites: www.linuxhowtos.org
toolsntoys.linuxhowtos.org



Last additions:
How to make X listen on port 6000

How to make X listen on port 6000

words:

34

views:

82705

userrating:

average rating: 1.2 (52 votes) (1=very good 6=terrible)


May, 25th 2007:
April, 26th 2007:
Apr, 10th. 2007:
Druckversion . pdf icon
You are here: Tutorials per portage category->net-misc->openvpn

OpenVPN primer


There are as many advantages to VPN tunnels as there are different VPN scenarios. One easy implementation is the "OpenVPN via tun-device" solution. An example: you'd like to connect your laptop to your LAN at home so that you can use your mail client without reconfiguring it anytime you switch from home to internet and back. Let's say your mail-server is 192.168.1.10 in your LAN (192.168.1.0/24) at home, and you have got a router/firewall providing access to the Internet. You connect from work or school and want to read mail. OpenVPN can create two virtual devices for you when connecting two computers through an encrypted tunnel. Naturally you then have the possibility of forwarding traffic into the networks behind them, and thus would be "virtually connected" to your LAN behind the firewall. To enable this, either your firewall or a server behind it should run OpenVPN (if you choose a server in your LAN, you'll have to forward the destination port to the OpenVPN server).

Here's what you need to do:
Code Listing 1: Enable the tun module in your kernel: Kernel config - tun module
          [*] Networking support    
Networking options --->
[ ] Amateur Radio support --->
< > IrDA (infrared) subsystem support --->
< > Bluetooth subsystem support --->
[*] Network device support
< > Dummy net driver support
< > Bonding driver support
< > EQL (serial line load balancing) support
Universal TUN/TAP device driver support
// This option must be enabled


Make sure this module exists and can be loaded. Next, install OpenVPN and it dependencies.
Code Listing 2: Install OpenVPN
emerge openvpn

Now on both server and client, create a directory for your configuration:

Code Listing 3: Make directory
mkdir /etc/openvpn    
mkdir /etc/openvpn/myhomelan


Inside that directory, create a shared key for your VPN session and copy that key to the client's directory, /etc/openvpn/myhomelan.

Code Listing 4: Generate shared key
cd /etc/openvpn/myhomelan    
openvpn --genkey --secret myhomelan-key.txt


Now for the tricky part, the routing. It is important that the two tun devices on the client and server use IP addresses from the same subnet. The configuration files shown below list the type of device, the two end-points of the tunnel, the compression method and the UDP-port on which the tunnel is established. Finally privileges are dropped to user and group as listed:

Code Listing 5: Server-side configuration file /etc/openvpn/myhomelan/local.conf
dev tun    
ifconfig 172.16.1.1 172.16.1.20 // IP of the local
// tun device and its peer
secret /etc/openvpn/myhomelan/myhomelan-key.txt
comp-lzo
port 5000
user nobody
group nobody


The client's configuration needs the tunnel's destination address. This is often a dynamic DNS address, sometimes a fixed IP, depending on your ISP. You also need to route to your home LAN (192.168.1.0 in our example). You can call a shell script from the configuration file that accordingly sets a route.

Code Listing 6: Client-side configuration file /etc/openvpn/myhomelan/local.conf
remote    // or your VPN 
// server's external IP if you have a fixed one
dev tun
ifconfig 172.16.1.20 172.16.1.1 // IP of the local tun
// device and its peer
secret /etc/openvpn/myhomelan/myhomelan-key.txt
comp-lzo
port 5000
user nobody
group nobody
up /etc/openvpn/myhomelan/route.sh // sets up the route
//to the network behind the VPN server


The route command would need to set the client's gateway for the network 192.168.1.0 to its peer's address (172.16.1.1 in our setup).

Code Listing 7: /etc/openvpn/myhomelan/route.sh
#!/bin/bash    
route add -net 192.168.1.0 netmask 255.255.255.0 gw 172.16.1.1


That's it. Start OpenVPN on the server and the client, and check the devices with ifconfig and the routes with route -n. Success!

From http://www.gentoo.org/news/en/gwn/20041011-newsletter.xml
rate this article:
current rating: average rating: 1.6 (45 votes) (1=very good 6=terrible)
Your rating:
Very good (1) Good (2) ok (3) average (4) bad (5) terrible (6)

back



Support us on Content Nation

New Packages

- as rdf newsfeed
- as rss newsfeed
- as Atom newsfeed
2026-01-02
ROPgadget - 7.6-r2
Ebuild name:

dev-util/ROPgadget-7.6-r2

Description

Search for gadgets in binaries to facilitate your ROP exploitation

Added to portage

2026-01-02

ROPgadget - 7.7-r1
Ebuild name:

dev-util/ROPgadget-7.7-r1

Description

Search for gadgets in binaries to facilitate your ROP exploitation

Added to portage

2026-01-02

amf-headers - 1.4.36-r2
Ebuild name:

media-libs/amf-headers-1.4.36-r2

Description

The Advanced Media Framework (AMF) SDK

Added to portage

2026-01-02

capstone - 5.0.6-r1
Ebuild name:

dev-libs/capstone-5.0.6-r1

Description

disassembly/disassembler framework + bindings

Added to portage

2026-01-02

capstone - 6.0.0_alpha4-r1
Ebuild name:

dev-libs/capstone-6.0.0_alpha4-r1

Description

disassembly/disassembler framework + bindings

Added to portage

2026-01-02

capstone - 6.0.0_alpha5-r1
Ebuild name:

dev-libs/capstone-6.0.0_alpha5-r1

Description

disassembly/disassembler framework + bindings

Added to portage

2026-01-02

cosign - 3.0.3
Ebuild name:

app-containers/cosign-3.0.3

Description

container signing utility

Added to portage

2026-01-02

django-polymorphic - 4.5.2
Ebuild name:

dev-python/django-polymorphic-4.5.2

Description

Seamless Polymorphic Inheritance for Django Models

Added to portage

2026-01-02

docker-compose - 2.40.3
Ebuild name:

app-containers/docker-compose-2.40.3

Description

Multi-container orchestration for Docker

Added to portage

2026-01-02

docker-compose - 5.0.1
Ebuild name:

app-containers/docker-compose-5.0.1

Description

Multi-container orchestration for Docker

Added to portage

2026-01-02

eisl - 5.62
Ebuild name:

dev-lang/eisl-5.62

Description

Interpreter and compiler compatible with the ISLisp standard

Added to portage

2026-01-02

erofs-utils - 1.8.10-r1
Ebuild name:

sys-fs/erofs-utils-1.8.10-r1

Description

Userspace tools for EROFS

Added to portage

2026-01-02

file-tail - 1.4.0
Ebuild name:

dev-ruby/file-tail-1.4.0

Description

A small ruby library that allows it to 'tail' files in Ruby

Added to portage

2026-01-02

gentoo-kernel - 6.18.3
Ebuild name:

sys-kernel/gentoo-kernel-6.18.3

Description

Linux kernel built with Gentoo patches

Added to portage

2026-01-02

gentoo-kernel-bin - 6.18.3
Ebuild name:

sys-kernel/gentoo-kernel-bin-6.18.3

Description

Pre-built Linux kernel with Gentoo patches

Added to portage

2026-01-02

gitpython - 3.1.46
Ebuild name:

dev-python/gitpython-3.1.46

Description

Library used to interact with Git repositories

Added to portage

2026-01-02

gnatformat - 26.0.0-r1
Ebuild name:

dev-ada/gnatformat-26.0.0-r1

Description

Opinionated code formatter for the Ada language

Added to portage

2026-01-02

gopass - 1.16.1-r1
Ebuild name:

app-admin/gopass-1.16.1-r1

Description

a simple but powerful password manager for the terminal

Added to portage

2026-01-02

hypothesis - 6.148.9
Ebuild name:

dev-python/hypothesis-6.148.9

Description

A library for property based testing

Added to portage

2026-01-02

json5 - 0.13.0
Ebuild name:

dev-python/json5-0.13.0

Description

A Python implementation of the JSON5 data format

Added to portage

2026-01-02

libmilter - 1.0.2_p5
Ebuild name:

mail-filter/libmilter-1.0.2_p5

Description

Added to portage

2026-01-02

librt - 0.7.7
Ebuild name:

dev-python/librt-0.7.7

Description

Mypyc runtime library

Added to portage

2026-01-02

noto - 20260101
Ebuild name:

media-fonts/noto-20260101

Description

Google's font family that aims to support all the world's languages

Added to portage

2026-01-02

nprolog - 4.78
Ebuild name:

dev-lang/nprolog-4.78

Description

Interpreter and compiler to be compatible with Arity/Prolog32

Added to portage

2026-01-02

nvidia-ml-py - 13.590.44
Ebuild name:

dev-python/nvidia-ml-py-13.590.44

Description

Python bindings to the NVIDIA Management Library

Added to portage

2026-01-02

onlyoffice-bin - 9.2.1
Ebuild name:

app-office/onlyoffice-bin-9.2.1

Description

A free and open source office and productivity suite (binary versio

Added to portage

2026-01-02

opencascade - 7.8.1-r1
Ebuild name:

sci-libs/opencascade-7.8.1-r1

Description

Development platform for CAD/CAE, 3D surface/solid modeling and data

Added to portage

2026-01-02

osm - 1.9
Ebuild name:

app-emacs/osm-1.9

Description

OpenStreetMap tile-based viewer for GNU Emacs

Added to portage

2026-01-02

osm - 2.0
Ebuild name:

app-emacs/osm-2.0

Description

OpenStreetMap tile-based viewer for GNU Emacs

Added to portage

2026-01-02

osm - 9999
Ebuild name:

app-emacs/osm-9999

Description

OpenStreetMap tile-based viewer for GNU Emacs

Added to portage

2026-01-02

pf-sources - 6.18_p4
Ebuild name:

sys-kernel/pf-sources-6.18_p4

Description

Added to portage

2026-01-02

portage - 3.0.74
Ebuild name:

sys-apps/portage-3.0.74

Description

The package management and distribution system for Gentoo

Added to portage

2026-01-02

postfix - 3.11.0_rc3-r1
Ebuild name:

mail-mta/postfix-3.11.0_rc3-r1

Description

A fast and secure drop-in replacement for sendmail

Added to portage

2026-01-02

postfix - 3.12_pre20251231-r1
Ebuild name:

mail-mta/postfix-3.12_pre20251231-r1

Description

A fast and secure drop-in replacement for sendmail

Added to portage

2026-01-02

prettier-ada - 25.0.0-r4
Ebuild name:

dev-ada/prettier-ada-25.0.0-r4

Description

Port of the Prettier formatter to the Ada programming language

Added to portage

2026-01-02

pwndbg - 20250530-r3
Ebuild name:

dev-debug/pwndbg-20250530-r3

Description

A GDB plug-in that makes debugging with GDB suck less

Added to portage

2026-01-02

pwndbg - 20251010-r3
Ebuild name:

dev-debug/pwndbg-20251010-r3

Description

A GDB plug-in that makes debugging with GDB suck less

Added to portage

2026-01-02

pwndbg - 20251020-r3
Ebuild name:

dev-debug/pwndbg-20251020-r3

Description

A GDB plug-in that makes debugging with GDB suck less

Added to portage

2026-01-02

pycares - 5.0.1
Ebuild name:

dev-python/pycares-5.0.1

Description

Python interface for c-ares

Added to portage

2026-01-02

pykka - 4.4.1
Ebuild name:

dev-python/pykka-4.4.1

Description

A Python implementation of the actor model

Added to portage

2026-01-02

pynacl - 1.6.2
Ebuild name:

dev-python/pynacl-1.6.2

Description

Python binding to the Networking and Cryptography (NaCl) library

Added to portage

2026-01-02

sendmail - 8.18.2
Ebuild name:

mail-mta/sendmail-8.18.2

Description

Widely-used Mail Transport Agent (MTA)

Added to portage

2026-01-02

sequel - 5.100.0
Ebuild name:

dev-ruby/sequel-5.100.0

Description

A lightweight database toolkit for Ruby

Added to portage

2026-01-02

siril - 1.4.0-r1
Ebuild name:

sci-astronomy/siril-1.4.0-r1

Description

A free astronomical image processing software

Added to portage

2026-01-02

smrsh - 8.18.2
Ebuild name:

app-shells/smrsh-8.18.2

Description

Sendmail restricted shell, for use with MTAs other than Sendmail

Added to portage

2026-01-02

sqlmap - 1.10
Ebuild name:

dev-db/sqlmap-1.10

Description

An automatic SQL injection and database takeover tool

Added to portage

2026-01-02

test-unit - 3.7.7
Ebuild name:

dev-ruby/test-unit-3.7.7

Description

An xUnit family unit testing framework for Ruby

Added to portage

2026-01-02

vanilla-kernel - 6.18.3
Ebuild name:

sys-kernel/vanilla-kernel-6.18.3

Description

Linux kernel built from vanilla upstream sources

Added to portage

2026-01-02

vlc - 3.0.23
Ebuild name:

media-video/vlc-3.0.23

Description

Media player and framework with support for most multimedia files and stream

Added to portage

2026-01-02

yara-x - 1.10.0-r1
Ebuild name:

app-forensics/yara-x-1.10.0-r1

Description

A malware identification and classification tool

Added to portage

2026-01-02

2026-01-01
amq-protocol - 2.5.0
Ebuild name:

dev-ruby/amq-protocol-2.5.0

Description

An AMQP 0.9.1 serialization library for Ruby

Added to portage

2026-01-01

arti - 1.8.0
Ebuild name:

net-p2p/arti-1.8.0

Description

Implementation of Tor in Rust

Added to portage

2026-01-01

bcrypt-ruby - 3.1.21
Ebuild name:

dev-ruby/bcrypt-ruby-3.1.21

Description

An easy way to keep your users' passwords secure

Added to portage

2026-01-01

cddlib - 094n
Ebuild name:

sci-libs/cddlib-094n

Description

C library implementing the Double Description Method

Added to portage

2026-01-01

chrome-binary-plugins - 143.0.7499.169
Ebuild name:

www-plugins/chrome-binary-plugins-143.0.7499.169

Description

Binary plugins from Google Chrome for use in Chrom

Added to portage

2026-01-01

chrome-binary-plugins - 144.0.7559.31_beta
Ebuild name:

www-plugins/chrome-binary-plugins-144.0.7559.31_beta

Description

Binary plugins from Google Chrome for use in C

Added to portage

2026-01-01

chrome-binary-plugins - 145.0.7587.4_alpha
Ebuild name:

www-plugins/chrome-binary-plugins-145.0.7587.4_alpha

Description

Binary plugins from Google Chrome for use in C

Added to portage

2026-01-01

chromedriver-bin - 143.0.7499.169
Ebuild name:

www-apps/chromedriver-bin-143.0.7499.169

Description

WebDriver for Chrome

Added to portage

2026-01-01

curl - 8.18.0_rc3
Ebuild name:

net-misc/curl-8.18.0_rc3

Description

A Client that groks URLs

Added to portage

2026-01-01

deskflow - 1.25.0
Ebuild name:

gui-apps/deskflow-1.25.0

Description

Share a mouse and keyboard between computers (FOSS version of Synergy)

Added to portage

2026-01-01

fable - 4.28.0
Ebuild name:

dev-dotnet/fable-4.28.0

Description

F to JavaScript, TypeScript, Python, Rust and Dart Compiler

Added to portage

2026-01-01

fonttosfnt - 1.2.5
Ebuild name:

x11-apps/fonttosfnt-1.2.5

Description

X.Org fonttosfnt application

Added to portage

2026-01-01

git-merge-changelog - 1.0
Ebuild name:

dev-vcs/git-merge-changelog-1.0

Description

Git merge driver for GNU style ChangeLog files

Added to portage

2026-01-01

google-chrome - 143.0.7499.169
Ebuild name:

www-client/google-chrome-143.0.7499.169

Description

The web browser from Google

Added to portage

2026-01-01

google-chrome-beta - 144.0.7559.31
Ebuild name:

www-client/google-chrome-beta-144.0.7559.31

Description

The web browser from Google

Added to portage

2026-01-01

google-chrome-unstable - 145.0.7587.4
Ebuild name:

www-client/google-chrome-unstable-145.0.7587.4

Description

The web browser from Google

Added to portage

2026-01-01

libsdl2 - 2.32.62
Ebuild name:

media-libs/libsdl2-2.32.62

Description

Simple Direct Media Layer

Added to portage

2026-01-01

libsdl3 - 3.2.30
Ebuild name:

media-libs/libsdl3-3.2.30

Description

Simple Direct Media Layer

Added to portage

2026-01-01

libsdl3 - 3.4.0
Ebuild name:

media-libs/libsdl3-3.4.0

Description

Simple Direct Media Layer

Added to portage

2026-01-01

libva-intel-media-driver - 25.4.6
Ebuild name:

media-libs/libva-intel-media-driver-25.4.6

Description

Intel Media Driver for VA-API (iHD)

Added to portage

2026-01-01

lidarr-bin - 3.1.1.4900
Ebuild name:

www-apps/lidarr-bin-3.1.1.4900

Description

Looks and smells like Sonarr but made for music

Added to portage

2026-01-01

melonds - 1.1-r1
Ebuild name:

games-emulation/melonds-1.1-r1

Description

Nintendo DS emulator, sorta

Added to portage

2026-01-01

microsoft-edge - 143.0.3650.96
Ebuild name:

www-client/microsoft-edge-143.0.3650.96

Description

The web browser from Microsoft

Added to portage

2026-01-01

microsoft-edge-beta - 144.0.3719.23
Ebuild name:

www-client/microsoft-edge-beta-144.0.3719.23

Description

The web browser from Microsoft

Added to portage

2026-01-01

microsoft-edge-beta - 144.0.3719.35
Ebuild name:

www-client/microsoft-edge-beta-144.0.3719.35

Description

The web browser from Microsoft

Added to portage

2026-01-01

microsoft-edge-dev - 145.0.3734.1
Ebuild name:

www-client/microsoft-edge-dev-145.0.3734.1

Description

The web browser from Microsoft

Added to portage

2026-01-01

moonlight - 6.1.0-r3
Ebuild name:

net-misc/moonlight-6.1.0-r3

Description

NVIDIA GameStream (and Sunshine) client

Added to portage

2026-01-01

obs-vkcapture - 1.5.3-r1
Ebuild name:

media-plugins/obs-vkcapture-1.5.3-r1

Description

OBS Linux Vulkan/OpenGL game capture

Added to portage

2026-01-01

opera - 125.0.5729.49
Ebuild name:

www-client/opera-125.0.5729.49

Description

A fast and secure web browser

Added to portage

2026-01-01

opera-beta - 126.0.5750.11
Ebuild name:

www-client/opera-beta-126.0.5750.11

Description

A fast and secure web browser

Added to portage

2026-01-01

opera-developer - 126.0.5748.0
Ebuild name:

www-client/opera-developer-126.0.5748.0

Description

A fast and secure web browser

Added to portage

2026-01-01

outline-magic - 0.9
Ebuild name:

app-emacs/outline-magic-0.9

Description

Outline mode extensions for Emacs

Added to portage

2026-01-01

package-build - 4.0.0
Ebuild name:

app-emacs/package-build-4.0.0

Description

Tools for assembling a package archive

Added to portage

2026-01-01

pauker - 1.8-r5
Ebuild name:

games-puzzle/pauker-1.8-r5

Description

A java based flashcard program

Added to portage

2026-01-01

pymdown-extensions - 10.20
Ebuild name:

dev-python/pymdown-extensions-10.20

Description

Extensions for Python Markdown

Added to portage

2026-01-01

python-gnupg - 0.5.6
Ebuild name:

dev-python/python-gnupg-0.5.6

Description

A Python wrapper for GnuPG

Added to portage

2026-01-01

radarr-bin - 6.1.0.10316
Ebuild name:

www-apps/radarr-bin-6.1.0.10316

Description

A fork of Sonarr to work with movies a la Couchpotato

Added to portage

2026-01-01

rgb - 1.1.1
Ebuild name:

x11-apps/rgb-1.1.1

Description

uncompile an rgb color-name database

Added to portage

2026-01-01

rouge - 4.7.0
Ebuild name:

dev-ruby/rouge-4.7.0

Description

Yet-another-markdown-parser using a strict syntax definition in pure Ruby

Added to portage

2026-01-01

socket-burst-dampener - 1.3.4
Ebuild name:

net-misc/socket-burst-dampener-1.3.4

Description

A daemon that spawns one command per connection, and dampens c

Added to portage

2026-01-01

sourcegit - 2025.41
Ebuild name:

dev-vcs/sourcegit-2025.41

Description

Open Source Git GUI client using .NET AvaloniaUI

Added to portage

2026-01-01

sphinx - 9.1.0
Ebuild name:

dev-python/sphinx-9.1.0

Description

Python documentation generator

Added to portage

2026-01-01

tlfloat - 1.17.1_p20250711
Ebuild name:

dev-cpp/tlfloat-1.17.1_p20250711

Description

C++ template library for floating point operations

Added to portage

2026-01-01

tt-rss - 20251216
Ebuild name:

www-apps/tt-rss-20251216

Description

Tiny Tiny RSS - A web-based news feed (RSS/Atom) aggregator using AJAX

Added to portage

2026-01-01

ty - 0.0.7
Ebuild name:

dev-util/ty-0.0.7

Description

An extremely fast Python type checker and language server, written in Rust

Added to portage

2026-01-01

xauth - 1.1.5
Ebuild name:

x11-apps/xauth-1.1.5

Description

X authority file utility

Added to portage

2026-01-01

rdf newsfeed | rss newsfeed | Atom newsfeed
Copyright 2004-2025 Sascha Nitsch Unternehmensberatung GmbH
- Copyright and legal notices -
Time to create this page: 46.7 ms