我在使MT与OpenVPN服务器(Debian)一起工作时遇到一些问题。 我可以成功连接到OVPN服务器,但stream量不会通过OVPN服务器路由。 这是我的configuration。
设置 – http://i.imgur.com/WvbjQaj.jpg
OpenVPN服务器(Debian / Linux)configuration
#cat /etc/openvpn/server.conf 当地95.2.171.3 端口1194 原型TCP dev tun ca ca.crt cert server.crt 密钥server.key dh dh.pem 服务器10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt client-config-dir ccd 路由192.168.81.0/24 255.255.255.0 保持活力10 120 tun-mtu 1500 mssfix 1450 密码AES-256-CBC auth sha1 坚持键 坚持-TUN 状态/var/log/openvpn-status.log log-append /var/log/openvpn.log 动词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地址:fe80 :: 22cf:30ff:fef2:a876 / 64作用域:链接 广播运行多播MTU:1500公制: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 链路封装:本地环回 inet addr:127.0.0.1掩码:255.0.0.0 inet6 addr::: 1/128范围:主机 UP LOOPBACK RUNNING MTU:16436公制: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 Link encap: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掩码:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500公制:1 RX数据包:57个错误:0丢弃:0超出:0帧:0 TX包:6个错误:0丢弃:0超限:0载波: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 -Pinput接受 -P正向接受 -P OUTPUT ACCEPT -Ainput-i lo -j接受 -A INPUT -d 127.0.0.0/8 -i!lo -j REJECT --reject-with icmp-port-unreachable -A INPUT -i tun0 -j ACCEPT -Ainput-m状态 - 状态RELATED,ESTABLISHED -j接受 -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT -Ainput-m限制 - 限制5 / min -j LOG - 日志前缀“iptables denied:”--log-level 7 -A INPUT -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -j ACCEPT #iptables -t nat -S -P PREROUTING接受 -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.8.8的64字节:icmp_req = 1 ttl = 55时间= 12.9ms 来自8.8.8.8的64个字节:icmp_req = 2 ttl = 55时间= 12.8ms
这是我在OpenVPN服务器上的所有configuration(Debian / Linux)。
OpenVPN客户端(Mikrotik RouterOS 6)configuration
/界面打印
标志:D - dynamic,X - 禁用,R - 运行,S - 奴隶
#名称types实际-MTU L2MTU MAX-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 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 max-message-age = 20s forward-delay = 15s transmit-hold-count = 6 aging-time = 5m
/接口桥接端口打印
标志:X - 禁用,I - 无效,D - dynamic
#界面桥梁优先path - 成本视野
0我ether2 bridge1 0x80 10无
1我ether3 bridge1 0x80 10无
2我ether4桥1 0x80 10无
3我ether5 bridge1 0x80 10无
4 wlan1 bridge1 0x80 10无
/ ip地址打印
标志:X - 禁用,I - 无效,D - dynamic
#地址networking接口
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防火墙nat打印
标志:X - 禁用,I - 无效,D - dynamic
0 chain = srcnat action = masquerade to-addresses = 0.0.0.0 out-interface = ether1 log = no log-prefix =“”
/ ip路由打印
标志:X禁用,A - 活动,D - dynamic,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.168.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%最小 - rtt = 6ms平均 - rtt = 7ms最大 - rtt = 9ms
正如你所看到的,我可以从Mikrotik ping到OpenVPN服务器。 但是当我从本地PC使用互联网,它显示IP地址81.190.190.100,而不是我想看到的 – OpenVPN服务器IP – 95.2.171.3。
我可以成功从笔记本电脑(192.168.81.100/24)ping / traceroute到10.8.0.1,但不明白为什么不通过VPN隧道路由。 我想我在路由服务器(Linux)或客户端(mikrotik)上丢失了一些东西。
谢谢你的帮助! 我正在玩这个一会儿,并且不能得到它运行:(
祝你有美好的一天!
您的客户端不通过OVPN隧道,因为mikrotik上没有路由(默认网关)!
因此,在mikrotik上添加另一个带有路由标记的网关,其目标是OVPN服务器10.8.0.1
/ip route add dst-address=0.0.0.0/0 gateway=10.8.0.1 routing-mark=clientmark
当然,你应该为路由标记添加一个mangle规则,如:
/ip firewall mangle add action=mark-routing chain=prerouting src-address=192.168.81.0/24 new-routing-mark=clientmark
客户端(src-address 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