ksi_armadillo
2025年3月3日 16時01分
==========
Debian/ABOSバージョン:3.20.5-at.8
カーネルバージョン:5.10.33-0-at on an aarch64
==========
Armadillo をルータとして利用し、他セグメント へのRDP・Ping を実施する際の問題について
現在、Armadillo をルータとして使用し、PC1 (Windows 10) からPC2 (Windows) に対して
RDP 接続やping を行いたいです。
しかし、PC1 からPC2 への通信ができない状況です。
ネットワーク構成↓
PC1 (Windows 10)
- Ethernet: 192.168.100.32
- VPN (OpenVPN server): 10.8.0.1
↓
Internet (LTE回線経由のOpenVPN)
↓
Armadillo (ルータ)
- VPN クライアント: 10.8.0.3
- Ethernet0: 192.168.100.xxx
- Ethernet1: 192.168.250.180
↓
PC2 (Windows)
- Ethernet: 192.168.250.170
VPN 経由のICMP 通信確認やパケットのキャプチャなどを確認しましたがうまくいかず苦慮しています。
添付PDFに現状を纏めました。
Armadillo でルータとして適切に動作させるために追加で確認すべきポイントはありますか?
ファイル | ファイルの説明 |
---|---|
armadillo_VPNNAT質問事項.pdf |
コメント
ksi_armadillo
下山様
返信ありがとうございます。
確認事項の回答をいたします。
1.VPNを経由して他セグメントと通信するためには、サーバー側の.ovpnファイルに
>
> client-config-dir ccd > route 192.168.150.0 255.255.255.0 >
> のような指定が必要になるかと思いますが、こちらは大丈夫でしょうか?また、差し支えなければclient-config-dir内のirouteが記載されたファイルと、サーバー・クライアント両方の.ovpnファイルを添付いただけますと助かります。
↓
client-config-dir ccd → この設定自体を行っていませんでした。
また、.opvnファイルを添付いたしますのでご確認いただけますでしょうか。
2.添付いただいたPDFファイルの3ページ、「tcpdump -i tun0 icmp → ICMP リクエストとリプライは確認できる」とは、「PC1 (10.8.0.1) から PC2 (192.168.250.180) へ Ping」した際のことでしょうか?それとも「PC1 (10.8.0.1) から Armadillo (10.8.0.3) へ Ping」した際のことでしょうか?
↓
PC1 (10.8.0.1) から Armadillo (10.8.0.3) へ Ping」を行った時です。
3.Armadillo上でip route
を実行した結果はどのようになるでしょうか?
↓
armadillo:# ip route
default via 192.168.11.1 dev mlan0 src 192.168.11.3 metric 600
default dev ppp0 scope link metric 700
10.8.0.0/24 dev tun0 scope link src 10.8.0.3
XX.XX.XX.XX dev ppp0 scope link src XXX.XX.XX.XXX
192.168.11.0/24 dev mlan0 scope link src 192.168.11.3
192.168.250.0/24 via 10.8.0.1 dev tun0
192.168.250.0/24 dev eth1 scope link metric 200
以上となります。
引き続きよろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
client.txt | client.ovpn内容 |
server.txt | server.ovpn内容 |
at_shota.shimoyama
ksi_armadillo様
.opvnファイルを添付いただきありがとうございます。
> client-config-dir ccd → この設定自体を行っていませんでした。
というのも、添付いただいたPDFファイルを参考にこちらでも同じように構築してみましたが、
route の設定だけでなく、client-config-dir ccdの設定とccdディレクトリ以下にクライアントの名前でirouteを記述したファイルを置かないと、
「PC1 (10.8.0.1) から PC2 (192.168.250.180) へ Ping」する際に、PC1のEthernetコネクタから送られていませんでした。「PC1 (10.8.0.1) から Armadillo (10.8.0.3) へ Ping」では、PC1のEthernetコネクタから送られていることを確認しています。(Wiresharkで確認しました)
ですので、上記の設定がないとクライアント側のセグメントに対するアクセスはVPNサーバー側でせき止められてしまうのではないかと思います。
上記設定を行ってもPC2と通信できない場合、Wiresharkなどを使って
VPNサーバーであるPC1の(10.8.0.1ではなく)物理的なコネクタのところでパケットキャプチャしてみていただけますでしょうか?
よろしくお願いします。
ksi_armadillo
下山様
ご連絡いただきありがとうございます。
Wiresharkはまだトライしてませんが、少し変化がありましたのでご報告いたします。
client-config-dir ccdを設定しvpn接続後、PC1(10.8.0.1)からArmadillo(10.8.0.2)へ ping 192.168.250.180 を行ったところ
正常に応答が帰ってくるようになりました。以前は応答なしでした。
※192.168.250.180はarmadilloのeth1に割り当てたIPです。
このことから、armadillo内部のtun0とeth1のやり取りは可能になったと認識しています。
しかしeth1ポートの先にある192.168.250.170からは応答がありません。
この時のtcpdumpの出力&ip routeの出力と、server.ovpnファイルを添付いたします。
ファイル | ファイルの説明 |
---|---|
iproute_tcpdump.txt | |
server.txt |
ksi_armadillo
下山様
お世話になっております。
今回の件、無事に通信ができましたのでご報告させていただきます。
目的 : PC1からPC2へvpnを張った状態でRDP、PINGができること。
構成
PC1 (windows) eth IP 192.168.100.xx
vpn IP 10.8.0.1
vpnserverとして起動
armadillo eth1 IP 192.168.250.180
vpn IP 10.8.0.2
vpn clientとして動作
PC2 (windows ) eth IP 192.168.250.170
解決した要因
1.client-config-dir ccdを設定
2.armadilloのiproute設定の修正
これまで↓
192.168.250.0/24 via 10.8.0.1 dev tun0
192.168.250.0/24 dev eth1 scope link src 192.168.250.180 metric 100
これを
192.168.250.0/24 dev eth1 scope link src 192.168.250.180 metric 100 のみとしました。
上記2点の変更を行うと pc1(192.168.100.xx)からpc2(192.168.250.170)への通信ができました。
ただ、armadillo のopenvpnコンテナを再起動すると iproute 情報が元に戻ってしまい、コマンドラインで修正する必要があります。
これについては、armadilloに読み込ませるclient.ovpnの設定かなと考えていますので、見直していきたいと思います。
取り急ぎご連絡いたします。
vpnコンテナの件でまた問い合わせをさせて頂くかもしれません。
引き続きよろしくお願いいたします。
at_shota.shimoyama
2025年3月5日 19時58分
下山です。
お待たせして申し訳ありません。
いくつか確認させてください。
1.VPNを経由して他セグメントと通信するためには、サーバー側の.ovpnファイルに
のような指定が必要になるかと思いますが、こちらは大丈夫でしょうか?また、差し支えなければclient-config-dir内のirouteが記載されたファイルと、サーバー・クライアント両方の.ovpnファイルを添付いただけますと助かります。
2.添付いただいたPDFファイルの3ページ、「tcpdump -i tun0 icmp → ICMP リクエストとリプライは確認できる」とは、「PC1 (10.8.0.1) から PC2 (192.168.250.180) へ Ping」した際のことでしょうか?それとも「PC1 (10.8.0.1) から Armadillo (10.8.0.3) へ Ping」した際のことでしょうか?
3.Armadillo上で
ip route
を実行した結果はどのようになるでしょうか?よろしくお願いします。