ルーティングにIPを手動で追加するにはどうすればよいですか?


1

ルーティングにIPを追加する必要があります。Openvpnでラボに接続しています。ルーティングは次のようになります。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref   Use Iface
0.0.0.0         192.168.178.1   0.0.0.0         UG    600    0     0   wlan0
192.168.178.0   0.0.0.0         255.255.255.0   U     600    0     0   wlan0
192.168.193.0   0.0.0.0         255.255.255.0   U     0      0     0   tap0

(例)IP 20.20.20.0/24を追加して、tap0経由でWebサーバー20.20.20.8にアクセスできるようにする必要があります。これを機能させることはできません。正しいゲートウェイとIPを設定するにはどうすればよいですか?

回答:


1

ここを見てください:

https://askubuntu.com/questions/612840/adding-route-on-client-using-openvpn

D)ボーナスオプション!openvpnには、vpnへの接続時にスクリプトを起動できるup / downディレクティブもあります。これにより、本当に必要なことを何でも行うことができます。DNS、ルートなどの設定。ただし、コマンドを別のファイルに保存する必要があります。

したがって、openvpnクライアントの構成ファイルに次のものがある場合

スクリプトセキュリティ2

run-stuff-after-vpn-connect.shを起動します

run-stuff-after-vpn-connect.shという名前のファイルを作成します(実行権限があることを確認してください。

/ bin / sh

route add -net 172.16.0.0/24 dev tun0は、トンネルがアップするとすぐにルートを追加します

したがって、基本的には、my_route.shなどのshファイルにルートを配置します(192.168.193.1がOpenVPN GWローカルIPアドレスであると想定しています)

#!/bin/sh
/usr/sbin/ip route add 20.20.20.0/24 via 192.168.193.1 dev tap0

OpenVPNクライアントの設定ファイルに追加します

up /your path to/my_route.sh

動作しない可能性があるため、systemdの起動設定を介してルートを追加することもできます

[Unit]
Description=OpenVPN connection to %i

[Service]
Type=forking
ExecStart=/usr/bin/openvpn --cd /etc/openvpn --config /etc/openvpn/%i.conf --daemon openvpn@%i
ExecStartPost=/your path to/my-add-route.sh
ExecStop=/your path to/my-remove-route.sh

[Install]
WantedBy=multi-user.target

スクリプトを実行可能にし、スクリプト内のコマンドには常にフルパスを使用することを忘れないでください。「ルート」ではなく、「/ sbin / route」またはサーバーのどこにでも。whereis route完全なパスを見つけるために使用
シャーカー

それを見たが、それは私には意味がありません。私はxx.xx.xx.xxを介してip route add 20.20.20.0/24のようなコマンドを試しましたが、動作させることができません

@ BButter10はdev tap0route addコマンドの最後を忘れないでください。エラーが発生していますか、それとも静かに失敗していますか?traceroute 20.20.20.8出力で質問を更新します。
ハッシュハザード

Hollowprocに感謝します。理解できないのは、存在しないゲートウェイを介してIPを追加する必要があるということです。

ip route add(ゲートウェイ)dev tap0経由で20.20.20.0/24を追加
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.