Openvpn ส่งต่อแพ็คเก็ตช้ามาก


10

ฉันรีบูตเซิร์ฟเวอร์ของฉันและมีปัญหาแปลก ๆ เกิดขึ้น ฉันทำงานบน ArchLinux ลูกค้าคือ Ubuntu, Android และ Mac

ปัญหาคือว่าการเข้าถึงอินเทอร์เน็ตผ่านลูกค้าจะช้าประมาณ 2ko / s และหยุดช้า

แต่การดาวน์โหลดบางสิ่งจากเซิร์ฟเวอร์ไปยังไคลเอนต์โดยตรงนั้นทำด้วยความเร็วเต็ม และเห็นได้ชัดว่าอินเทอร์เน็ตจากเซิร์ฟเวอร์นั้นใช้ความเร็วเต็มที่ (40mo / s)

ฉันไม่รู้ว่าเกิดอะไรขึ้นจากการรีบูท แต่ปัญหานี้เกิดขึ้นที่ไคลเอนต์ทั้งหมดและเกี่ยวข้องเฉพาะกับปริมาณการใช้งานที่ openvpn ส่งต่อไปยังอินเทอร์เน็ต

แก้ไข: พยายามด้วย TCP ไม่ได้แก้ปัญหา แก้ไข: ทดสอบการตั้งค่าชิ้นส่วน / mtu ต่างๆไม่มีการเปลี่ยนแปลง

นี่คือทั้งหมด confs ของฉัน:

╭─<root@Alduin>-</etc/openvpn>-<1:45:07>-◇
╰─➤ cat Alduin.conf ccd/Thunderaan
local 212.83.129.104
port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/Alduin.crt
key keys/Alduin.key
dh keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 10.8.0.1"
client-to-client
keepalive 5 60
ping-timer-rem
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
client-config-dir ccd
topology subnet

ccd from here +++++++++++++++


ifconfig-push 10.8.0.2 255.255.255.0
push "redirect-gateway def1"

ลูกค้า conf:

client
dev tun
proto udp
remote 212.83.129.104 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert name.crt
key name.key
ns-cert-type server
comp-lzo
verb 3

และผลลัพธ์บางอย่างที่อาจช่วยคุณได้:

╭─<cubox@Alduin>-<~>-<1:49:43>-◇
╰─➤ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether b8:ac:6f:94:e2:4e brd ff:ff:ff:ff:ff:ff
    inet 88.190.15.135/24 scope global eno1
       valid_lft forever preferred_lft forever
    inet 212.83.129.104/32 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 2001:bc8:300a:dead::b12d/64 scope global
       valid_lft forever preferred_lft forever
    inet6 2a01:e0b:1000:15:baac:6fff:fe94:e24e/64 scope global dynamic
       valid_lft 2592000sec preferred_lft 604800sec
    inet6 fe80::baac:6fff:fe94:e24e/64 scope link
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether b8:ac:6f:94:e2:4f brd ff:ff:ff:ff:ff:ff
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none
    inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
╭─<cubox@Alduin>-<~>-<1:49:47>-◇
╰─➤ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         88-190-15-1.rev 0.0.0.0         UG    0      0        0 eno1
10.8.0.0        *               255.255.255.0   U     0      0        0 tun0
88.190.15.0     *               255.255.255.0   U     0      0        0 eno1
╭─<cubox@Alduin>-<~>-<1:49:51>-◇
╰─➤ route -6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
::1/128                        ::                         U    256 0     0 lo
2001:bc8:300a:dead::/64        ::                         U    256 0     0 eno1
2a01:e0b:1000:15::/64          ::                         UAe  256 0     0 eno1
fe80::/64                      ::                         U    256 0     0 eno1
::/0                           fe80::225:45ff:fef6:947f   UGDAe 1024 2     0 eno1
::/0                           ::                         !n   -1  1  1891 lo
::1/128                        ::                         Un   0   2  5227 lo
2001:bc8:300a:dead::/128       ::                         Un   0   1     0 lo
2001:bc8:300a:dead::b12d/128   ::                         Un   0   1   131 lo
2a01:e0b:1000:15::/128         ::                         Un   0   1     0 lo
2a01:e0b:1000:15:baac:6fff:fe94:e24e/128 ::                         Un   0   3 29356 lo
fe80::/128                     ::                         Un   0   1     0 lo
fe80::baac:6fff:fe94:e24e/128  ::                         Un   0   1   311 lo
ff00::/8                       ::                         U    256 0     0 eno1
::/0                           ::                         !n   -1  1  1891 lo



-A POSTROUTING -s 10.8.0.0/24 -o eno1 -j MASQUERADE # The iptables rule

กฎ iptables ที่นี่เป็นสิ่งเดียวที่ใช้งานบนเซิร์ฟเวอร์

╰─➤ tc qd
qdisc mq 0: dev eno1 root
qdisc pfifo_fast 0: dev tun0 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

แก้ไข: นี่คือบันทึกจากการเชื่อมต่อไคลเอนต์ Archlinux

Oct  2 16:54:17 Groat ovpn-openvpn[9216]: OpenVPN 2.2.1 x86_64-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 13 2013
Oct  2 16:54:17 Groat ovpn-openvpn[9216]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Oct  2 16:54:17 Groat ovpn-openvpn[9216]: LZO compression initialized
Oct  2 16:54:17 Groat ovpn-openvpn[9216]: Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Oct  2 16:54:17 Groat ovpn-openvpn[9216]: Socket Buffers: R=[212992->131072] S=[212992->131072]
Oct  2 16:54:17 Groat ovpn-openvpn[9216]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Oct  2 16:54:17 Groat ovpn-openvpn[9216]: Local Options hash (VER=V4): '41690919'
Oct  2 16:54:17 Groat ovpn-openvpn[9216]: Expected Remote Options hash (VER=V4): '530fdded'
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: UDPv4 link local: [undef]
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: UDPv4 link remote: [AF_INET]212.83.129.104:1194
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: TLS: Initial packet from [AF_INET]212.83.129.104:1194, sid=edfcb034 3452d72c
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: VERIFY OK: depth=1, /C=FR/ST=FR/L=Paris/O=Dragonborn/CN=Dragonborn_CA/emailAddress=cubox@cubox.me
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: VERIFY OK: nsCertType=SERVER
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: VERIFY OK: depth=0, /C=FR/ST=FR/L=Paris/O=Dragonborn/CN=Dragonborn/emailAddress=cubox@cubox.me
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Oct  2 16:54:17 Groat ovpn-openvpn[9217]: [Dragonborn] Peer Connection Initiated with [AF_INET]212.83.129.104:1194
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: SENT CONTROL [Dragonborn]: 'PUSH_REQUEST' (status=1)
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 10.8.0.1,route 212.83.129.0 255.255.255.0,route-gateway 10.8.0.1,topology subnet,ping 5,ping-restart 60,redirect-gateway def1,ifconfig 10.8.0.3 255.255.255.0'
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: OPTIONS IMPORT: timers and/or timeouts modified
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: OPTIONS IMPORT: --ifconfig/up options modified
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: OPTIONS IMPORT: route options modified
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: OPTIONS IMPORT: route-related options modified
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: ROUTE default_gateway=192.168.1.254
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: TUN/TAP device tun0 opened
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: TUN/TAP TX queue length set to 100
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: /sbin/ifconfig tun0 10.8.0.3 netmask 255.255.255.0 mtu 1500 broadcast 10.8.0.255
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: /sbin/route add -net 212.83.129.104 netmask 255.255.255.255 gw 192.168.1.254
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: /sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.8.0.1
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: /sbin/route add -net 128.0.0.0 netmask 128.0.0.0 gw 10.8.0.1
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: /sbin/route add -net 212.83.129.0 netmask 255.255.255.0 gw 10.8.0.1
Oct  2 16:54:20 Groat ovpn-openvpn[9217]: Initialization Sequence Completed

แก้ไข: นี่คือ tcpdump ของเซิร์ฟเวอร์ที่ดาวน์โหลดไฟล์โดยตรง: http://sprunge.us/aaJX นี่คือไคลเอนต์ที่ดาวน์โหลด ressource นี้: http://sprunge.us/WUCCและนี่คือไคลเอนต์ปกติจาก openvpn อื่น ( ทำงาน) เซิร์ฟเวอร์: http://www4.slashusr.com/57552.tcpdump

แก้ไข: ตามที่ถามในความคิดเห็นที่นี่มีการจับ tcpdump ดิบ การจับ tun0 จากเซิร์ฟเวอร์ล้มเหลวฉันไม่รู้ว่าทำไม เซิร์ฟเวอร์แสดงนอกนี่ , ลูกค้าแสดง tun0 นี่ , ลูกค้าแสดงนอกที่นี่และเซิร์ฟเวอร์การดาวน์โหลดไฟล์ได้โดยตรงที่นี่

แก้ไข: เซิร์ฟเวอร์กำลังเรียกใช้ i3 ซึ่งไม่ได้ใช้งานได้ตลอดเวลา (ไม่ใช่แม้ในระหว่างการใช้ openvpn) เช่นเดียวกันสำหรับลูกค้า i7 ไม่ได้ใช้งาน Totaly

แก้ไข: ปัญหายังอยู่ที่นี่ กรุณาช่วย :(


ฉันคิดว่าคุณได้ดูการจับกุมด้วย wireshark / tcpdump บ้างไหม? คำตอบเกือบจะแน่นอนสามารถพบได้ในการจับถ้าคุณจับในสถานที่ที่เหมาะสม
Zoredache

ฉันมี tcpdump จากส่วนต่อประสาน eno1 ในการดาวน์โหลดจากไคลเอนต์และอีกหนึ่งจากเซิร์ฟเวอร์ (ของไฟล์เดียวกัน) และอีกอันหนึ่งจากไคลเอนต์ openvpn ที่ใช้งานได้เช่นกัน ฉันจะแก้ไขคำถาม
Cubox

คุณสามารถเพิ่มข้อมูล cpu จากไคลเอนต์และเซิร์ฟเวอร์ในขณะที่กำลังรับส่งข้อมูลได้หรือไม่?
Jed Daniels

ใน tcpdump ของคุณฉันไม่เห็นทราฟฟิกที่ช้า (อาจสั้นเกินไป) ลูกค้าทุกคนได้รับที่อยู่ IP เดียวกัน 10.8.0.2 หรือไม่ คุณสามารถข้ามสิ่งนั้นและผลักดันเส้นทางไปยังเครือข่ายของคุณได้ 212.83.129.0 หรือไม่?
ott--

ลูกค้าแต่ละรายมี ccd ของตัวเองพร้อมที่อยู่ IP ของเขาเอง ฉันไม่เข้าใจความหมายของเส้นทางไปยังเครือข่าย
Cubox

คำตอบ:


1

ฉันไม่แน่ใจว่าเป็นสาเหตุเดียวกันหรือไม่ แต่ฉันคิดว่าควรปรับตัวเกี่ยวกับ tun-mtu และ mssfix ตามที่กล่าวไว้ในopenvpn-on-android-tcp-retransmissions-after-openvpn-server-reboot

แก้ไข: ฉันพบว่าสิ่งนี้อาจมีประโยชน์ด้วย[แก้ไข] ประสิทธิภาพ openVPN ที่ยอมรับไม่ได้การ เปลี่ยนพารามิเตอร์เคอร์เนล: net.inet.ip.fastforwarding = 1 (เพิ่ม /etc/sysctl.conf บนเซิร์ฟเวอร์ linux ของคุณ)


ขอบคุณสำหรับคำตอบ. การเปลี่ยนอ็อพชัน tun-mtu และ mssfix ไม่ได้ช่วย การตั้งค่าการส่งต่ออย่างรวดเร็วไม่มีอยู่ใน Linux เมล็ด BSD เท่านั้น
Cubox

0

เซิร์ฟเวอร์ vpn เป็นเซิร์ฟเวอร์เกตเวย์หรือไม่ ลองลบ push-gateway ลูกค้าของคุณต้องมีเส้นทางเพิ่มเติมเท่านั้น


คุณเห็นตัวเลือก push-gateway ที่ไหน
Cubox

ที่ตัวเลือก CCD จะมีเกตเวย์เปลี่ยนเส้นทาง คุณต้องตรวจสอบ yo ว่ามีเส้นทางแบบคงที่บนไคลเอ็นต์ไปยัง GW จริงของพวกเขาหรือไม่
มื้อ

นั่นคือ ลูกค้าสามารถพูดคุยกับอะไรก็ได้บนอินเทอร์เน็ตพวกเขาทำได้ช้า
Cubox

0

กฎ iptables ที่ลงรายการบัญชีของคุณดูแปลก ๆ ลองนี่

-A POSTROUTING -s 10.8.0.0/24 -o eno1 -j MASQUERADE

แทนที่จะเป็น SNAT และลบหนึ่งใน IP บน eno1 หากคุณไม่ต้องการทั้งคู่ ที่อยู่ IP สาธารณะสองที่อยู่บนสิ่งที่ดูเหมือนว่าจะเป็นอินเทอร์เฟซอีเธอร์เน็ตก็ดูแปลก ๆ ทำไมต้องติดตั้ง

ฉันเดาว่าเซิร์ฟเวอร์ openvpn ของคุณกำลังวนลูปและปล่อยแพ็กเก็ตไปมาทำให้เกิดปัญหานี้


ฉันมีกฎมาสเคอเรดตอนนี้มันไม่สามารถแก้ไขปัญหาได้ ฉันมีสองอยู่บนเซิร์ฟเวอร์ของฉันกับหนึ่งในนั้นเป็น failover และอื่น ๆ หนึ่งหลัก สำหรับการมีเซิร์ฟเวอร์ที่มีสี่ ips บนอินเทอร์เฟซ eth0 (บนเซิร์ฟเวอร์ Archlinux อื่น) มานานกว่าหนึ่งปีฉันสามารถบอกคุณได้ว่า multiples ips นั้นไม่ใช่ปัญหาที่นี่ ...
Cubox

0

คุณรันเซิร์ฟเวอร์ dns ของคุณเองภายในหรือไม่ ฉันมีปัญหากับเครือข่ายของฉันเมื่อฉันเรียกใช้การตั้งค่า powerdns สำหรับ DNS ภายใน แต่ไม่มีการตั้งค่าโซนย้อนกลับอย่างถูกต้อง Wireshark ให้คำตอบในกรณีนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.