私のL2TPサーバーに割り当てられたパブリックIPv4を使用してクライアントとインターネットトラフィックを送受信するために必要なルーティングをどのように実行しますか?

私のL2TPサーバーに割り当てられたパブリックIPv4を使用してクライアントとインターネットトラフィックを送受信するために必要なルーティングをどのように実行しますか?

2つのイーサネットインターフェイスがあり、L2TPサーバー(accel-pppを使用)をホストするUbuntu Server 20.04を実行しているサーバーがあります。

「eno1」にはパブリックIPv4アドレスが割り当てられます。

"eno2"は、L2TPサーバーを介して別の場所で使用したい/ 26パブリックIPv4ブロックにアクセスできます。詳しくは下記をご覧ください。

私が望むのは、L2TPサーバーに接続してパブリックIPv4を持つことができるだけでなく、前述の/ 26パブリックIPv4を分割して/ 27パブリックIPv4にルーティングできる別の場所にルーターを置くことです。たとえば、xx161.64/27 です。

L2TPサーバーからL2TPサーバーに接続されているルーターのIPとルーターLANを介して割り当てられた/ 27 IPv4をpingできますが、インターネットや他のネットワークへのルートを取得する方法がわかりません。 L2TPサーバーの独自のゲートウェイIP(xx161 .122)。

1番

IP address:  x.x.176.62 (public IPv4)
Subnet mask: 255.255.255.0
Gateway IP:  x.x.176.254

イノ2

IP address:  x.x.161.125 (public IPv4)
Subnet mask: 255.255.255.252 (split from what is actually a /26)
Gateway IP:  x.x.161.126

私のルーターにはIPアドレスが割り当てられており、L2TPサーバーに接続されていますが、現在インターネットにアクセスできないか、xx161.122(L2TPサーバーのゲートウェイIPアドレスであると思われます)を超えてアクセスできません。

x.x.161.121/30
x.x.161.64/27

このUbuntuサーバーにaccel-pppをインストールし、L2TPサーバーとして構成しました。私は/etc/accel-ppp.conf以下を持っています:

[modules]
log_file

pptp
l2tp

auth_mschap_v2
auth_mschap_v1
auth_pap

chap-secrets

ippool

pppd_compat

[core]
log-error=/var/log/accel-ppp/core.log
thread-count=4

[common]
single-session=replace

[ppp]
verbose=1
min-mtu=1280
mtu=1400
mru=1400
ipv4=require
ipv6=deny
ipv6-intf-id=0:0:0:1
ipv6-peer-intf-id=0:0:0:2
ipv6-accept-peer-intf-id=1
lcp-echo-interval=1
lcp-echo-failure=5
lcp-echo-timeout=120
unit-cache=1

[pptp]
verbose=1
#echo-interval=30
#ip-pool=pptp
#ipv6-pool=pptp
#ipv6-pool-delegate=pptp
ifname=pptp%d

[l2tp]
verbose=1
ifname=l2tp%d

[dns]
dns1=8.8.8.8
dns2=8.8.4.4

[client-ip-range]
disable

[ip-pool]
gw-ip-address=x.x.161.122
attr=Framed-Pool
x.x.161.121/30

[log]
log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/var/log/accel-ppp/emerg.log
log-fail-file=/var/log/accel-ppp/auth-fail.log
copy=1
level=3

[pppd-compat]
verbose=1

[chap-secrets]
chap-secrets=/etc/ppp/chap-secrets

現在のIPパス:

default via x.x.161.126 dev eno2 proto static
default via x.x.176.254 dev eno1 proto dhcp src x.x.176.62 metric 100
x.x.176.0/24 dev eno1 proto kernel scope link src x.x.176.62
x.x.176.254 dev eno1 proto dhcp scope link src x.x.176.62 metric 100
x.x.161.64/27 via x.x.161.121 dev l2tp0
x.x.161.121 dev l2tp0 proto kernel scope link src x.x.161.122
x.x.161.124/30 dev eno2 proto kernel scope link src x.x.161.125

現在のパス:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         x.x.161.126     0.0.0.0         UG    0      0        0 eno2
default         x.x.176.254     0.0.0.0         UG    100    0        0 eno1
x.x.176.0       0.0.0.0         255.255.255.0   U     0      0        0 eno1
x.x.176.254     0.0.0.0         255.255.255.255 UH    100    0        0 eno1
x.x.161.64      x.x.161.121     255.255.255.224 UG    0      0        0 l2tp0
x.x.161.121     0.0.0.0         255.255.255.255 UH    0      0        0 l2tp0
x.x.161.124     0.0.0.0         255.255.255.252 U     0      0        0 eno2

現在のifconfig:

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet x.x.176.62  netmask 255.255.255.0  broadcast x.x.176.255
        inet6 x:x:x:x::  prefixlen 56  scopeid 0x0<global>
        inet6 fe80::d250:99ff:feda:91b6  prefixlen 64  scopeid 0x20<link>
        ether d0:50:99:da:91:b6  txqueuelen 1000  (Ethernet)

eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet x.x.161.125  netmask 255.255.255.252  broadcast x.x.161.127
        inet6 fe80::d250:99ff:feda:91b5  prefixlen 64  scopeid 0x20<link>
        ether d0:50:99:da:91:b5  txqueuelen 1000  (Ethernet)

l2tp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1400
        inet 198.244.161.122  netmask 255.255.255.255  destination x.x.161.121
        ppp  txqueuelen 3  (Point-to-Point Protocol)

たとえば、ルータのIPアドレスxx161.121をインターネットにアクセスできるようにするにはどうすればよいですか?おそらく、raw / 26 IPv4ブロック全体のゲートウェイIPアドレスxx161.126へのパスが必要です。

私がもっと簡単にしたり、他のことをする必要がある場合は、そう言ってください。私はNATをしたくありません。なぜなら、それが私がやりたいことを台無しにすると思うからです。

非常に明確で十分な詳細を提供したことを願っています。詳細が必要な場合はお問い合わせください。私は過去2日間、この問題で苦労しました。コースを変えることは私にとって少し新しいことでした。助けてくれてありがとう!

編集:ここで回答を得ることはあまり望ましくないようです。誰かが実際にこの質問を読んで答えを知っているなら、あなたの解決策を聞いて非常に感謝します!ありがとうございます。

ベストアンサー1

さらなる実験は少し遅れましたが、ポリシーベースのルーティングの重要性と有用性を理解し始めたようです。良いニュースは、私が望んでいたことを正確に行ったが、バイパス的な方法で行ったことです。

SoftEther VPNサーバー(L2TP)でCentOSを使用しています。これにより、現在Firebrickに独自のルーティングテーブルを持つ32の接続/ログイン設定があります。それぞれに一意のパブリックIPv4アドレスがあります。 SoftEtherは、NATなしで正常にインターネットに接続できる唯一の方法です。 SoftEtherは、イーサネットレベルでL2TP接続とイーサネットインターフェイス(eth1 / eno2など)を接続する仮想ネットワークインターフェイス(OSに隠されている)を作成するためだと思います。 。

このように、Firebrickのファイアウォール(マイルータ)に、各L2TP接続のさまざまなルーティングテーブルと私のLANポートのルーティングテーブルの間を移動するか、その逆を移動するように指示する数十の規則があります。 LANインターフェイスはまだパブリックIPv4/26を使用しますが、実際にはL2TPサーバー接続に割り当てられているIPアドレスに直接接続されません。このパブリックIPv4/26ブロックの最初のIPは実際にはパブリックではなく、LANポートのゲートウェイIPとしてのみ使用され、インターネットからアクセスできません。私が言ったように、これは迂回的な方法ですが、うまくいきます。また、後でさらにログインを追加できるように、無料のIPアドレスもあります。

これは決して最善の解決策ではなく、少し見ても良くありませんが、うまくいくようです。

おすすめ記事