Ich versuche, einen alten PC mit Linux (CentOS) als Zugangspunkt zu einem VPN einzurichten, das ich in einem anderen Haus habe. Ich habe zwei Ethernet-Schnittstellen, daher möchte ich eine verwenden, um über meinen Router eine Verbindung zum Internet herzustellen, eine Verbindung zu meinem VPN herzustellen und diese VPN-Verbindung dann über mein zweites Ethernet freizugeben. Die IP auf dem zweiten Gerät sollte von DHCP zugewiesen werden.
Ich habe viele Tutorials / Beiträge gelesen und konnte meine normale Internetverbindung mit ausgefallenem VPN teilen. Sobald ich jedoch das VPN starte, stecke ich auf meinem zweiten Gerät ohne Internet fest, unabhängig von den Regeln für iptables / routes. Ich weiß nicht, was ich falsch mache. Kann mir jemand helfen?
Hier sind meine Konfigurationen: - enp2s0: Dies ist mit meinem Hauptrouter verbunden. - enp0s29f7u1: Dies wird mit einem zweiten Gerät verbunden
enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether bc:ee:7b:19:89:68 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.26/24 brd 192.168.1.255 scope global noprefixroute enp2s0
valid_lft forever preferred_lft forever
inet6 fe80::c25c:2c9d:4777:79fc/64 scope link noprefixroute
valid_lft forever preferred_lft forever
enp0s29f7u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast stat e UP group default qlen 1000
link/ether 00:e0:4c:69:35:d0 brd ff:ff:ff:ff:ff:ff
inet 10.8.0.5/24 brd 10.8.0.255 scope global noprefixroute enp0s29f7u1
valid_lft forever preferred_lft forever
inet6 fe80::2e0:4cff:fe69:35d0/64 scope link
valid_lft forever preferred_lft forever
Sobald ich mich mit meinem VPN verbinde, gibt es eine andere Schnittstelle, tun0:
tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 10.8.0.2/24 brd 10.8.0.255 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::2d75:64c0:6c21:c9d9/64 scope link flags 800
valid_lft forever preferred_lft forever
Meine /etc/dhcp/dhcpd.conf hat die folgenden Optionen:
subnet 10.8.0.0 netmask 255.255.255.0 {
range 10.8.0.10 10.8.0.15;
option routers 10.8.0.5;
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
Das zweite Gerät bekommt 10.8.0.11 als IP, also denke ich, dass es gut funktioniert.
Ich habe die folgenden Regeln mit iptables hinzugefügt:
iptables -t nat -I POSTROUTING 1 -o tun0 -j MASQUERADE
iptables -I FORWARD 1 -i tun0 -o enp0s29f7u1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD 1 -i enp0s29f7u1 -o tun0 -j ACCEPT
Zusätzliche Information:
Ich habe die IP4-Weiterleitung aktiviert: gibt
/sbin/sysctl net.ipv4.ip_forward
zurücknet.ipv4.ip_forward = 1
Ich kann mit der IP von meinem VPN-Server in einem anderen Haus wie erwartet auf das Internet zugreifen. Ich kann es jedoch nur von dem Computer aus tun, auf dem ich diese Konfiguration einrichte, nicht von dem Gerät, das über verbunden ist
enp0s29f7u1
.- Dies sind die Routen vor / nach dem Start des VPN.
VOR
ip route
default via 192.168.1.1 dev enp2s0 proto static metric 101
10.8.0.0/24 dev enp0s29f7u1 proto kernel scope link src 10.8.0.5 metric 100
NACH
ip route
0.0.0.0/1 via 10.8.0.1 dev tun0
default via 192.168.1.1 dev enp2s0 proto static metric 101
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2
10.8.0.0/24 dev enp0s29f7u1 proto kernel scope link src 10.8.0.5 metric 100
xx.xx.xx.xx via 192.168.1.1 dev enp2s0
128.0.0.0/1 via 10.8.0.1 dev tun0
192.168.1.0/24 dev enp2s0 proto kernel scope link src 192.168.1.26 metric 101
192.168.1.0/24 dev enp2s0 proto kernel scope link src 192.168.1.26 metric 101
Ich habe meine öffentliche VPN-Server-IP durch xx.xx.xx.xx ersetzt
Was vermisse ich hier?
EDIT: Aus Verzweiflung habe ich versucht, Schnittstellen zu überbrücken, auch wenn ich wusste, dass es keine großartige Idee war. Es hat auch nicht funktioniert.