3

ubuntu11.10 を使用しており、次のコマンドを使用して tun/tap インターフェイスを作成しました

openvpn --mktun --dev tun0
ip link set tun0 up
ip addr add 10.10.10.1/24 dev tun0
route add 10.10.10.1/24 dev tun0

そこに別のインターフェースがあります

eth0 10.80.1.87

tun0 から受信したパケットを eth0 にリダイレクトしたい。Ubuntuの上でそれを行う方法は?

4

3 に答える 3

6

それ以外の場合は2つの良い答えを補完するものとして、次のことを覚えておいてください。

  • ブリッジはリンク層 (「イーサネット レベル」) で機能します。したがって、2 つのインターフェース間のブリッジを構成することは、(仮想)スイッチを介してそれらを配線するのとほとんど同じです。
  • 転送はネットワーク層 (「IP レベル」) で機能します。したがって、2 つのインターフェイス間の転送を構成することは、(仮想)ルーターを介してそれらを接続するようなものです。
于 2013-07-11T17:04:11.027 に答える
3

TCPIP 標準で要求されるように、IP 転送はデフォルトでオフになっています。オンにするには: echo 1 > /proc/sys/net/ipv4/ip_forward

その後、転送が機能します。投稿にいくつかの行をまとめて追加したように見えるため、ネットワーク構成を特定できません。

tun0 のパケットが eth0 の宛先で着信した場合、転送されます。Ubuntu マシンはルーターとして機能します。tun0 に入ってくるパケットをやみくもにイーサネットに送信することはありません。

したがって、tun0 の IP アドレスが 10.10.10.1 の場合、別のホスト、たとえば tun0 の 10.10.10.45 では、10.10.10.1 のゲートウェイを構成する必要があります (少なくとも 10.80.1.0/24 の場合)。次に、たとえば10.80.1.234のパケットがある場合、最初にそれを10.10.10.1に転送します。これは、イーサネット上の10.80.1.234に転送するUbuntuマシンです。次に、そのマシンは 10.10.10.45 に応答します。そのホスト/ネットワークのゲートウェイとして 10.80.1.87 を使用するように構成する必要があります。すべてが正しく構成されていれば、機能します。

10.80.1.0/24 上のマシンで正しいゲートウェイを構成する代わりに、IP マスカレードを有効にすることもできます。次に、ubuntuマシンはFROMアドレスを偽造し、10.10.10.45が使用されていたソースとして10.80.1.87を置き換えます。

于 2012-04-23T07:07:14.433 に答える
2

2つのネットワークインターフェイス間のブリッジを構成したいようですねubuntu固有のマニュアルもここにあります

$ sudo apt-get install bridge-utils
# vim /etc/network/interfaces: 
auto lo
iface lo inet loopback

auto br0
iface br0 inet static
        address 192.168.0.10
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off
$sudo /etc/init.d/networking restart
于 2012-04-23T07:02:13.860 に答える