Übrige Public IP via VPN daheim nutzen: Konzept?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
alex0801
Beiträge: 195
Registriert: 16.10.2005 19:46:48

Re: Übrige Public IP via VPN daheim nutzen: Konzept?

Beitrag von alex0801 » 10.01.2019 23:20:04

server auf rootserver:

Code: Alles auswählen

root@rootserver:~# cat /etc/openvpn/server/server.conf | grep -v "#" | grep -v ";"

local 80.___.___.223
port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
dh /etc/openvpn/server/dh4096.pem
server 10.8.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
tls-auth /etc/openvpn/server/ta.key 0 
cipher AES-256-CBC
max-clients 1
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
mode server
tls-server
auth sha512
client auf homeserver:

Code: Alles auswählen

root@homeserver:/etc/openvpn/client# cat client.conf | grep -v "#" | grep -v ";"

client
dev tun
proto udp
remote 80.___.___.223 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/client/ca.crt
cert /etc/openvpn/client/client.crt
key /etc/openvpn/client/client.key
remote-cert-tls server
tls-auth /etc/openvpn/client/ta.key 1
cipher AES-256-CBC
verb 3
auth SHA512
tls-client

alex0801
Beiträge: 195
Registriert: 16.10.2005 19:46:48

Re: Übrige Public IP via VPN daheim nutzen: Konzept?

Beitrag von alex0801 » 11.01.2019 07:41:34

Muss denn am Homeserver in der routing-tabelle nicht auch die public-ip irgendwie bekannt sein?

Code: Alles auswählen

root@homeserver:/etc/openvpn/client# route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.200.1   0.0.0.0         UG    0      0        0 eth0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.1.1        10.8.1.5        255.255.255.255 UGH   0      0        0 tun1
10.8.1.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun1
192.168.200.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
Weil, wenn Pakete an die IP 212.__.___.46 durch den OpenVPN Tunnel am Homeserver ankämen, weiß man anhand der Routing-tabelle ja gar nicht was damit zu tun ist... Oder reicht es tatsächlich dass eth0 am Homeserver einfach eine zweite IP hat:

Code: Alles auswählen

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether dc:9c:52:07:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.3/24 brd 192.168.200.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 212.___.___.46/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::de9c:52ff:fe07:bba6/64 scope link 
       valid_lft forever preferred_lft forever

Benutzeravatar
bluestar
Beiträge: 2323
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Übrige Public IP via VPN daheim nutzen: Konzept?

Beitrag von bluestar » 11.01.2019 12:33:29

Hat das einen Grund, dass du OpenVPN mit TLS für so eine Verbindung nutzt?

Ich würde dir zu einem statischen Punkt-zu-Punkt-Tunnel für das Routing raten, Beispielconfigs:
Code für deinen Root-Server (a.b.c.d = die öffentliche IP, die du darüber routen willst)

Code: Alles auswählen

dev		tun0
proto		udp
lport		1194
secret		/etc/openvpn/server/tun0.key
cipher		CAMELLIA-256-CBC
auth		SHA1
keepalive	10 60
engine		rdrand
ifconfig	10.8.1.1 10.8.1.2
route		a.b.c.d 255.255.255.255
max-clients	1
Code für deinen Home-Server(a.b.c.d = OpenVPN Endpunkt)

Code: Alles auswählen

remote		a.b.c.d
proto		udp
dev		tun0
lport		1195
secret		/etc/openvpn/server/tun0.key
cipher		CAMELLIA-256-CBC
auth		SHA1
keepalive	10 60
engine		rdrand
ifconfig	10.8.1.2 10.8.1.1

alex0801
Beiträge: 195
Registriert: 16.10.2005 19:46:48

Re: Übrige Public IP via VPN daheim nutzen: Konzept?

Beitrag von alex0801 » 11.01.2019 13:48:31

Nein, hat keinen speziellen Grund. Meinst du das Änderung auf p2p löst das ganze?

alex0801
Beiträge: 195
Registriert: 16.10.2005 19:46:48

Re: Übrige Public IP via VPN daheim nutzen: Konzept?

Beitrag von alex0801 » 11.01.2019 14:06:48

tatsächlich, das löst das ganze ... Super. Vielen dank, oh mein Routing-Gott :hail:

Für die Nachwelt werde ich das gleich mal noch dokumentieren... [stay tuned]

alex0801
Beiträge: 195
Registriert: 16.10.2005 19:46:48

Re: Übrige Public IP via VPN daheim nutzen: Konzept?

Beitrag von alex0801 » 11.01.2019 16:21:15

So, abschließen nochmal die Zusammenfassung der funktionierenden Konfiguration:

Rootserver:

Code: Alles auswählen

eth0: ip 80.___.___.223  netmask 255.255.255.192 <--------- Hierhin baut der Homeserver seine VPN Verbindung auf:
eth1: ip 212.___.___.46 netmask 255.255.255.0 <------- das ist die zweite public IP die über VPN dem Homeserver gehören soll
Homeserver:

Code: Alles auswählen

eth0: 192.168.200.3 netmask 255.255.255.0 <------- Netzwerkinterface für das Netzwerk "zuhause"

OpenVPN server.conf:

Code: Alles auswählen

local           80.___.___.223
dev             tun0
proto           udp
lport           1194
secret          /etc/openvpn/server/static.key
cipher          AES-256-CBC
auth            SHA256
keepalive       10 60
#engine         rdrand
engine          dynamic
ifconfig        10.8.1.1 10.8.1.2
route           212.___.___.46 255.255.255.255
max-clients     1
script-security 2
route-up "/etc/openvpn/server/up.sh"
route-pre-down "/etc/openvpn/server/down.sh"
up.sh

Code: Alles auswählen

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
/sbin/ip addr del 212.___.___.46/24 dev eth1
/sbin/ip route add 212.___.___.46 via 10.8.1.2 dev tun0
down.sh

Code: Alles auswählen

#!/bin/sh
/sbin/ip route del 212.___.___.46 via 10.8.1.2 dev tun0
/sbin/ip addr add 212.___.___.46/24 dev eth1
echo 0 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
OpenVPN client.conf

Code: Alles auswählen

remote          80.___.___.223
proto           udp
dev             tun1 # hab auf dem client noch eine andere OpenVPN config die tun0 benutzt, deshalb her tun1, sonst wäre es auch tun0
lport           1195
secret          /etc/openvpn/client/static.key
cipher          AES-256-CBC
auth            SHA256
keepalive       10 60
#engine         rdrand
engine          dynamic
ifconfig        10.8.1.2 10.8.1.1
script-security 2
route-up "/etc/openvpn/client/up.sh"
route-pre-down "/etc/openvpn/client/down.sh"
up.sh

Code: Alles auswählen

#!/bin/sh
ip addr add 212.___.___.46/32 dev eth0
ip route add default via 10.8.1.2 table 2
ip rule add from 212.___.___.46/32 lookup 2
down.sh

Code: Alles auswählen

!/bin/sh
ip rule del from 212.___.___.46/32 lookup 2
ip route del default via 10.8.1.2 table 2
ip addr del 212.___.___.46/32 dev eth0

Auf dem Homeserver kann man dann basierend auf "tun0" und der IP "212.___.___.46" mit iptables prima Firewallregeln anlegen.

Antworten