web-dev-qa-db-ja.com

OpenVPNクライアント(Mikrotik RouterOS)<-> OpenVPNサーバー(Debian / Linux)セットアップを機能させる方法

MTをOpenVPNサーバー(Debian)で動作させるためにいくつかの問題があります。OVPNサーバーに正常に接続できますが、トラフィックがOVPNサーバー経由でルーティングされません。ここに私の設定を示します。

セットアップ- http://i.imgur.com/WvbjQaj.jpg

OpenVPNサーバー(Debian/Linux)構成

#cat /etc/openvpn/server.conf
local 95.2.171.3 
 port 1194 
 proto tcp 
 dev tun 
 
 ca ca.crt 
 cert server.crt 
 key server.key 
 dh dh.pem 
 
 server 10.8.0.0 255.255.255.0 
 ifconfig-pool-persist ipp.txt 
 
 client-config-dir ccd 
 route 192.168.81.0/24 255.255.255.0 
 
キープアライブ10 120 
 tun-mtu 1500 
 mssfix 1450 
 
暗号AES-256-CBC 
 auth sha1 
 
 persist-key 
 persist-tun 
 
 status /var/log/openvpn-status.log
log-append/var /log/openvpn.log

verb 5 
 crl-verify /etc/openvpn/easy-rsa/pki/crl.pem

 #cat /etc/openvpn/ccd/client
iroute 192.168.81.0 255.255.255.0 10.8.0.2 
 ifconfig-Push 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:* LISTEN 
 tcp 0 0 95.2.171.3:1194 81.190.190.100:62973 ESTABLISHED 
 
 #ifconfig 
 eth0 Link encap:Ethernet HWaddr 20:cf:30:f2:a8:76 
 inet addr:95.2.171.3 Bcast:95.2.171.31 Mask:255.255.255.224 
 inet6 addr:fe80 :: 22cf:30ff:fef2:a876/64 Scope:Link 
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
 RXパケット:255189エラー:0ドロップ済み:0オーバーラン: 0フレーム:0 
 TXパケット:333054エラー:0ドロップ:0オーバーラン:0キャリア:0 
衝突:0 txqueuelen:1000 
 RXバイト:34521411(32.9 MiB)TXバイト:367074147(350.0 MiB)
割り込み:26ベースアドレス:0x8000 
 
 loリンクカプセル化:ローカルループバック
 inet addr:127.0.0.1マスク:255.0。 0.0 
 inet6 addr::: 1/128 Scope:Host 
 UP LOOPBACK RUNNING MTU:16436 M etric:1 
 RXパケット:15579エラー:0ドロップ:0オーバーラン:0フレーム:0 
 TXパケット:15579エラー:0ドロップ:0オーバーラン:0キャリア:0 
衝突:0 txqueuelen: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 addr:10.8.0.1 PtP:10.8.0.2 Mask:255.255.255.255 
 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 
 RXパケット:57エラー:0ドロップ:0オーバーラン:0フレーム:0 
 TXパケット:6エラー:0ドロップ:0オーバーラン:0 carrier:0 
コリジョン:0 txqueuelen:100 
 RXバイト:6669(6.5 KiB)TXバイト:504(504.0 B)
 
#netstat -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 INPUT ACCEPT 
 -P FORWARD ACCEPT 
-P OUTPUT ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -d 127.0.0.0/8 -i!lo -j REJECT --reject-with icmp-port-unreachable 
-A INPUT -i tun0 -j ACCEPT 
-A INPUT -m state --state RELATED、ESTABLISHED -j ACCEPT 
- A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT 
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7 
-A INPUT -j REJECT --reject-with icmp-port-unreachable 
-A OUTPUT -j ACCEPT 
 
#iptables -t nat -S 
-P PREROUTING ACCEPT 
-P POSTROUTING ACCEPT 
-P OUTPUT ACCEPT [.__ __。]-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 
 
#ping 8.8.8.8 
 PING 8.8.8.8 (8.8.8.8)56(84)バイトのデータ。
 8.8バイトから64バイト:icmp_req = 1 ttl = 55時間= 12.9 ms 
 8.8バイトから64バイト:icmp_req = 2 ttl = 55時間= 12.8 ms 

これがOpenVPNサーバー(Debian/Linux)での私の設定です。

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

/interface print 
フラグ:D-動的、X-無効、R-実行中、S-スレーブ
#名前タイプACTUAL-MTU L2MTU MAX-L2MTU MAC-ADDRESS 
 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 ether3エーテル1500 1598 2028 D4:CA:6D:31:14:F6 
 3 S ether4エーテル1500 1598 2028 D4:CA:6D:31:14:F7 
 4 S ether5エーテル1500 1598 2028 D4:CA:6D:31:14:F8 
 5 RS wlan1 wlan 1500 1600 D4:CA:6D:31:14:F9 
 6 R bridge1 bridge 1500 1598 D4:CA: 6D:31:14:F5 
 7 R ovpn-out1 ovpn-out 1500 FE:3E:27:7D:61:8C 
 
/interface bridge print 
フラグ:X-無効、R-実行中
 0 R name = " bridge1 "mtu = auto actual-mtu = 1500 l2mtu = 1598 arp = enabled mac-address = D4:CA:6D:31:14:F5 protocol-mode = rstp priority = 0x8000 auto-mac = yes admin-mac = 00: 00:00:00:00:00 max-message-age = 20s forward-delay = 15s transmit-hold-count = 6 ageing-time = 5m 
 
/interface bridge port print 
フラグ:X-無効、I-非アクティブ、D-動的
#インターフェースブリッジプライオリティパスコスト水平線
 0 I ether2 bridge1 0x80 10なし
 1 I ether3 bridge1 0x80 10なし
 2 I ether4 bridge1 0x80 10なし
 3 I ether5 bridge1 0x80 10なし
 4 wlan1 bridge1 0x80 10なし
 
/ip住所印刷
フラグ:X-無効、I-無効、D-動的
#ADDRESS NETWORK INTERFACE 
 0 192.168.81.1/24 192.168.81.0 bridge1 
 1 D 192.168 .7.200/24 192.168.7.0 ether1 
 2 D 10.8.0.2/32 10.8.0.1 ovpn-out1 
 
/ip firewall nat print 
フラグ:X-無効、I-無効、D-動的
 0 chain = srcnat action = masquerade to-addresses = 0.0.0.0 out-interface = ether1 log = no log-prefix = "" 
 
/ip route print 
フラグ:X-無効、A-アクティブ、D-動的、C-接続、S-静的、r-rip、b-bgp、o-ospf、m-mme、B -ブラックホール、U-到達不能、P-禁止
#DST-ADDRESS PREF-SRCゲートウェイ距離
 0 ADS 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 ether1 0 
 3 ADC 192.1 68.81.0/24 192.168.81.1 bridge1 0 
 
/interface ovpn-client print 
フラグ: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 
 
/ping 10.8.0.1 
 SEQホストサイズTTL時間ステータス
 0 10.8.0.1 56 64 6ms 
 1 10.8.0.1 56 64 9ms 
 2 10.8.0.1 56 64 7ms 
 3 10.8.0.1 56 64 6ms 
送信済み= 4受信済み= 4パケット損失= 0%min-rtt = 6ms avg-rtt = 7ms max-rtt = 9ms 
 

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

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

ご協力いただきありがとうございます!私はこれをしばらくの間遊んでいますが、実行できません:(

良い一日を過ごしてください!

3
Janiis

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

もちろん、ルーティングマークのマングルルールを追加する必要があります。

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

また、クライアント(src-addresses 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
2
Arash