openvpn 橋接以太網

openvpn 橋接以太網

我正在嘗試在橋接模式下設定 openvpn,以便我可以將全國範圍內的幾個網路連結在一起。我已經有了 openvpn 設定並且工作正常,當我嘗試將其變成橋接網路時,事情就出了問題。

我正在關注這個教程這裡

當我嘗試運行bridge-start時,我得到了tap設備已打開的確認,但我也與ssh會話斷開連接,並且必須重新啟動伺服器才能再次連接。

Sat May 27 02:49:35 2017 TUN/TAP device tap0 opened
Sat May 27 02:49:35 2017 Persist state set to: ON

我該橋接到 eth0 還是我只是做錯了什麼?

這是我的橋接啟動腳本

#!/bin/bash

#################################
# Set up Ethernet bridge on Linux
# Requires: bridge-utils
#################################

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"

# Define physical ethernet interface to be bridged
# with TAP interface(s) above.
eth="eth0"
eth_ip="192.168.8.4"
eth_netmask="255.255.255.0"
eth_broadcast="192.168.8.255"

for t in $tap; do
    openvpn --mktun --dev $t
done

brctl addbr $br
brctl addif $br $eth

for t in $tap; do
    brctl addif $br $t
done

for t in $tap; do
    ifconfig $t 0.0.0.0 promisc up
done

ifconfig $eth 0.0.0.0 promisc up

ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast

還有我的 ifconfig

eth0      Link encap:Ethernet  HWaddr 00:16:3c:5d:7a:a5
          inet addr:111.111.111.111  Bcast:111.111.111.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:186590 errors:0 dropped:348 overruns:0 frame:0
          TX packets:136 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11311181 (10.7 MiB)  TX bytes:20623 (20.1 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tap0      Link encap:Ethernet  HWaddr 7e:9f:bc:8a:06:f7
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

編輯:我透過 vnc 登入以進行所有更改。

這就是我的 /etc/network/interfaces 目前的樣子,在進行更改之前,我從 eth0 複製了所有位址/網關/網路遮罩。我無法 ssh 進入伺服器,是我的設定錯誤嗎?

auto eth0
allow-hotplug eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 111.191.104.233
        gateway 111.191.104.1
        netmask 255.255.255.0
        bridge_ports eth0
        bridge_fd 0
        bridge_maxwait 0

修改前的介面

 auto lo
  iface lo inet loopback

 auto eth0
  iface eth0 inet static
   address 111.191.104.233
   gateway 111.191.104.1
   netmask 255.255.255.0
   dns-nameservers 8.8.8.8 8.8.4.4

答案1

您尚未更改腳本eth_*中的變數bridge-start以符合您的實際場景。因此,當您執行腳本時,IP 位址會從 111.111.111.111 變更為 192.168.8.4,並且您會失去連線。

即使您已經修復了該問題,您也可能需要重新建立路由表(特別是預設路由)。

如果可能的話,在繼續使用 openvpn 之前,請先設定您的網橋並使其正常運作(br0和)。eth0理想情況下,您應該讓橋接器在啟動時運行,然後您可以tap0在開始測試 openvpn 時新增介面。

成功地遠端更改網路配置並不容易。如果您有任何方法可以在工作時連接 KVM,我建議您抓住這個機會。


評論似乎要求教程。下面是我如何在我的一個系統上設定橋接器,而不是指向異地。它不使用 NetworkManager,而是使用/etc/network/interfaces.如果您輸入錯誤,您將無法登入,所以我建議您使用 KVM,或在本機上嘗試以確認該過程是否有效。

allow-hotplug eth0
iface eth0 inet manual

auto br0
iface br0 inet static              ← ASSUMES STATIC IP ADDR
        address 111.111.111.111
        netmask 255.255.255.0
        gateway 111.111.111.254    ← FIX ME BEFORE TRYING THIS
        bridge_ports eth0
        bridge_fd 0
        bridge_maxwait 0

相關內容