我在使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