OpenVPN クライアント (Mikrotik RouterOS) OpenVPN サーバー (Debian/Linux) のセットアップを動作させる方法

OpenVPN クライアント (Mikrotik RouterOS)  OpenVPN サーバー (Debian/Linux) のセットアップを動作させる方法

MT を OpenVPN サーバー (Debian) で動作させるのに問題があります。OVPN サーバーへの接続は成功しますが、トラフィックは OVPN サーバーを経由してルーティングされません。これが私の設定です。

設定 -https://i.stack.imgur.com/AAH9Y.jpg

OpenVPN サーバー (Debian/Linux) の設定

# /etc/openvpn/server.conf を編集する
ローカル 95.2.171.3
ポート 1194
プロトコル TCP
デヴ・トゥン

ca ca.crt
証明書サーバー.crt
キーサーバー.キー
dh dh.pem

サーバー 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

クライアント設定ディレクトリ ccd
ルート 192.168.81.0/24 255.255.255.0

キープアライブ 10 120
tun-mtu 1500
mssfix 1450

暗号AES-256-CBC
認証 sha1

永続キー
持続する

ステータス /var/log/openvpn-status.log
ログ追加 /var/log/openvpn.log

動詞5
crl 検証 /etc/openvpn/easy-rsa/pki/crl.pem

# cat /etc/openvpn/ccd/client
アイルート 192.168.81.0 255.255.255.0 10.8.0.2
ifconfigプッシュ10.8.0.2 10.8.0.1

# cat /proc/sys/net/ipv4/ip_forward
1

# netstat -an | grep 1194
tcp 0 0 95.2.171.3:1194 0.0.0.0:* 聞く
tcp 0 0 95.2.171.3:1194 81.190.190.100:62973 確立

# 設定ファイル
eth0 リンク カプセル化:イーサネット HWaddr 20:cf:30:f2:a8:76
          inet アドレス:95.2.171.3 Bcast:95.2.171.31 マスク:255.255.255.224
          inet6 アドレス: fe80::22cf:30ff:fef2:a876/64 スコープ:リンク
          アップブロードキャスト 実行中マルチキャスト MTU:1500 メトリック:1
          RXパケット:255189 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0
          TX パケット:333054 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0
          衝突:0 送信キュー数:1000
          RX バイト:34521411 (32.9 MiB) TX バイト:367074147 (350.0 MiB)
          割り込み:26 ベースアドレス:0x8000

lo リンクカプセル化:ローカルループバック
          inet アドレス:127.0.0.1 マスク:255.0.0.0
          inet6 アドレス: ::1/128 スコープ:ホスト
          アップループバック実行中 MTU:16436 メトリック:1
          RXパケット:15579 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0
          TX パケット:15579 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0
          衝突:0 送信キュー:0
          RX バイト:1326071 (1.2 MiB) TX バイト:1326071 (1.2 MiB)

tun0 リンク カプセル化:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet アドレス:10.8.0.1 PtP:10.8.0.2 マスク:255.255.255.255
          UP ポイントポイント NOARP マルチキャストを実行中 MTU:1500 メトリック:1
          RXパケット:57 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0
          TXパケット:6 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0
          衝突:0 送信キュー数:100
          RX バイト:6669 (6.5 KiB) TX バイト:504 (504.0 B)

# ネットスタット -rn
カーネル IP ルーティング テーブル
宛先ゲートウェイ Genmask フラグ MSS ウィンドウ irtt Iface
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
95.2.171.0 0.0.0.0 255.255.255.224 U 0 0 0 eth0
192.168.81.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 95.2.171.30 0.0.0.0 UG 0 0 0 eth0

# iptables -S
-P 入力を受け入れる
-P 転送 受け入れ
-P 出力受け入れ
-A 入力 -i lo -j 受け入れ
-A 入力 -d 127.0.0.0/8 -i !lo -j 拒否 --拒否-icmp-ポート到達不能
-A 入力 -i tun0 -j 受け入れ
-A 入力 -m 状態 --state RELATED、ESTABLISHED -j ACCEPT
-A 入力 -p tcp -m tcp --dport 1194 -j 受け入れ
-A 入力 -m 制限 --limit 5/分 -j ログ --log-prefix "iptables が拒否されました: " --log-level 7
-A 入力 -j 拒否 --拒否-icmp-ポート到達不能
-A 出力 -j 受け入れ

# iptables -t nat -S
-P 事前ルーティング受け入れ
-P ポストルーティング受け入れ
-P 出力受け入れ
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3

# 8.8.8.8 にpingする
PING 8.8.8.8 (8.8.8.8) 56(84) バイトのデータ。
8.8.8.8 からの 64 バイト: icmp_req=1 ttl=55 time=12.9 ms
8.8.8.8 からの 64 バイト: icmp_req=2 ttl=55 time=12.8 ms

これは OpenVPN サーバー (Debian/Linux) 上のすべての設定です。

OpenVPN クライアント側 (Mikrotik RouterOS 6) の設定

/インターフェース印刷
フラグ: D - 動的、X - 無効、R - 実行中、S - スレーブ
 # 名前 タイプ 実際のMTU L2MTU 最大L2MTU MACアドレス
 0 R エーテル1 エーテル 1500 1600 4076 D4:CA:6D:31:14:F4
 1 S エーテル2 エーテル 1500 1598 2028 D4:CA:6D:31:14:F5
 2 S エーテル3 エーテル 1500 1598 2028 D4:CA:6D:31:14:F6
 3 S エーテル4 エーテル 1500 1598 2028 D4:CA:6D:31:14:F7
 4 S エーテル5 エーテル 1500 1598 2028 D4:CA:6D:31:14:F8
 5 RS wlan1 wlan 1500 1600 D4:CA:6D:31:14:F9
 6 R ブリッジ1 ブリッジ 1500 1598 D4:CA:6D:31:14:F5
 7 R ovpn-out1 ovpn-out 1500 FE:3E:27:7D:61:8C

 /インターフェースブリッジプリント
フラグ: X - 無効、R - 実行中
 0 R name="bridge1" mtu=auto 実際のmtu=1500 l2mtu=1598 arp=有効 mac-address=D4:CA:6D:31:14:F5 プロトコルモード=rstp 優先度=0x8000 自動mac=はい 管理者mac=00:00:00:00:00:00 最大メッセージ有効時間=20秒 転送遅延=15秒 送信保留カウント=6 エージング時間=5分

/インターフェース ブリッジ ポート 印刷
フラグ: X - 無効、I - 非アクティブ、D - 動的
 # インターフェース ブリッジ プライオリティ パスコスト ホライズン
 0 I ether2 ブリッジ1 0x80 10 なし
 1 I ether3 ブリッジ1 0x80 10 なし
 2 I ether4 ブリッジ1 0x80 10 なし
 3 I ether5 ブリッジ1 0x80 10 なし
 4 wlan1 ブリッジ1 0x80 10 なし

 /ipアドレス印刷
フラグ: X - 無効、I - 無効、D - 動的
 # アドレスネットワークインターフェース
 0 192.168.81.1/24 192.168.81.0 ブリッジ1
 1 D 192.168.7.200/24 192.168.7.0 イーサ1
 2 D 10.8.0.2/32 10.8.0.1 ovpn-out1

 /ip ファイアウォール nat プリント
フラグ: X - 無効、I - 無効、D - 動的
 0 チェーン=srcnat アクション=マスカレード to-addresses=0.0.0.0 out-interface=ether1 ログ=no ログプレフィックス=""

 /ip ルート プリント
フラグ: X - 無効、A - アクティブ、D - 動的、C - 接続、S - 静的、r - rip、b - bgp、o - ospf、m - mme、B - ブラックホール、U - 到達不能、P - 禁止
 # DST アドレス PREF-SRC ゲートウェイ距離
 0 広告 0.0.0.0/0 192.168.7.1 0
 1 ADC 10.8.0.1/32 10.8.0.2 ovpn-out1 0
 2 ADC 192.168.7.0/24 192.168.7.200 イーサ1 0
 3 ADC 192.168.81.0/24 192.168.81.1 ブリッジ1 0

 /インターフェースovpn-client印刷
フラグ: X - 無効、R - 実行中
 0 R name="ovpn-out1" mac-address=FE:3E:27:7D:61:8C max-mtu=1500 connect-to=195.13.171.3 port=1194 mode=ip user="client" password="" profile=default certificate=Client auth=sha1 cipher=aes256 add-default-route=no

 10.8.0.1 にpingを実行
  SEQ ホスト サイズ TTL 時間 ステータス
    0 10.8.0.1 56 64 6ミリ秒
    1 10.8.0.1 56 64 9ミリ秒
    2 10.8.0.1 56 64 7ミリ秒
    3 10.8.0.1 56 64 6ミリ秒
    送信=4 受信=4 パケット損失=0% 最小RTT=6ms 平均RTT=7ms 最大RTT=9ms

ご覧のとおり、Mikrotik から OpenVPN サーバーに ping を実行できます。ただし、ローカル PC からインターネットを使用すると、表示される IP アドレスは 81.190.190.100 であり、私が見たい OpenVPN サーバー IP 95.2.171.3 ではありません。

ラップトップ (192.168.81.100/24) から 10.8.0.1 に ping/traceroute を正常に実行できますが、VPN トンネル経由でルーティングされない理由がわかりません。サーバー (Linux) またはクライアント (mikrotik) のいずれかのルーティングで何かが欠けていると思います。

ご協力ありがとうございます。しばらくこれで遊んでいますが、実行できません :(

良い一日を!

答え1

mikrotik にルート (デフォルト ゲートウェイ) がないため、クライアントは OVPN トンネルを経由してルーティングされません。

そこで、OVPNサーバー10.8.0.1を宛先とするルーティングマークを持つ別のゲートウェイをmikrotikに追加します。

 /ip route add dst-address=0.0.0.0/0 gateway=10.8.0.1 routing-mark=clientmark

もちろん、routing-mark に次のようなマングル ルールを追加する必要があります。

/ip firewall mangle add action=mark-routing chain=prerouting src-address=192.168.81.0/24 new-routing-mark=clientmark

また、クライアント (ソース アドレス 192.168.81.0/24) の NAT ルールも必要です。

ip firewall nat add action=masquerade chain=srcnat src-address=192.168.81.0/24 out-interface=ovpn-out1

関連情報