Openvpn, meneruskan paket dengan sangat lambat

10

Saya reboot server saya, dan masalah aneh baru saja keluar. Saya menggunakan ArchLinux, kliennya adalah Ubuntu, Android, dan Mac.

Masalahnya adalah bahwa mengakses internet melalui klien lambat, sekitar 2ko / s dan perlahan-lahan berhenti.

Tetapi mengunduh sesuatu dari server ke klien secara langsung dilakukan dengan kecepatan penuh. Dan, jelas, internet dari server berada pada kecepatan penuhnya (40mo / s).

Saya tidak tahu apa yang terjadi dari reboot, tetapi masalah ini ada di sini pada semua klien, dan hanya terkait dengan lalu lintas yang terbuka ke internet.

EDIT: Mencoba dengan tcp, tidak menyelesaikan. EDIT: Diuji berbagai pengaturan fragmen / mtu, tidak ada perubahan.

Ini semua teman saya:

╭─<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"

Konfigurasi klien:

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

dan beberapa output yang mungkin membantu Anda:

╭─<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

Aturan iptables di sini adalah satu-satunya yang aktif di server.

╰─➤ 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

EDIT: Ini adalah log dari koneksi klien 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/[email protected]
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/[email protected]
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

EDIT: Ini adalah tcpdump dari server yang mengunduh langsung file: http://sprunge.us/aaJX Ini adalah klien yang mengunduh sumber daya ini: http://sprunge.us/WUCC dan di sini adalah klien normal dari openvpn lain ( berfungsi) server: http://www4.slashusr.com/57552.tcpdump

EDIT: Seperti yang ditanyakan dalam komentar, ini adalah tangkapan tcpdump mentah. Tangkapan tun0 dari server gagal, saya tidak tahu mengapa. Server menunjukkan luar sini , klien menunjukkan tun0 sini , klien menunjukkan luar sini dan server yang men-download langsung file di sini .

EDIT: Server menjalankan i3, yang tidak digunakan kapan saja (bahkan saat penggunaan openvpn). Sama untuk klien, i7 totaly idle.

EDIT: Masalahnya masih di sini. Tolong bantu :(

Cubox
sumber
Saya berasumsi Anda telah melihat beberapa tangkapan dengan wireshark / tcpdump? Jawabannya hampir pasti dapat ditemukan di tangkapan, jika Anda menangkap di tempat yang tepat.
Zoredache
Saya memiliki tcpdump dari antarmuka eno1 pada unduhan dari klien dan satu dari server (dari file yang sama). Dan satu dari klien openvpn yang berfungsi juga. Saya akan mengedit pertanyaan.
Cubox
Bisakah Anda menambahkan informasi cpu dari klien dan server saat lalu lintas sedang ditransfer?
Jed Daniels
Di tcpdump Anda, saya tidak melihat lalu lintas lambat (mungkin terlalu pendek). Setiap klien mendapatkan ip-address yang sama 10.8.0.2? Bisakah Anda menghilangkannya dan lebih memilih mendorong rute ke jaringan Anda 212.83.129.0?
ott--
Setiap klien memiliki ccd sendiri dengan alamat ip-nya sendiri. Saya tidak mengerti apa yang Anda maksud dengan rute ke jaringan.
Cubox

Jawaban:

1

Saya tidak yakin apakah itu penyebab yang sama tetapi saya pikir perlu untuk menyesuaikan tentang tun-mtu dan mssfix sebagaimana disebutkan dalam openvpn-on-android-tcp-retransmissions-after-openvpn-server-reboot

EDIT: Saya menemukan ini mungkin juga membantu [RESOLVED] Kinerja openVPN yang tidak dapat diterima Mengubah parameter kernel: net.inet.ip.fastforwarding = 1 (tambahkan /etc/sysctl.conf di server linux Anda)

Wutiphong
sumber
Terima kasih atas jawabannya. Mengubah opsi tun-mtu dan mssfix tidak membantu. Pengaturan fastworwarding tidak ada di Linux. Hanya kernel BSD.
Cubox
0

Apakah server vpn juga merupakan server gateway? coba hapus push-gateway, klien Anda hanya perlu memiliki rute tambahan.

Alin Andrei
sumber
Di mana Anda melihat opsi push-gateway?
Cubox
Pada opsi CCD ada redirect gateway. Anda perlu memeriksa apakah ada rute statis pada klien ke GW mereka yang sebenarnya.
MealstroM
Ada. Klien dapat berbicara dengan apa pun di internet, mereka hanya melakukannya perlahan.
Cubox
0

Aturan iptables postrouting Anda terlihat aneh, coba ini

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

alih-alih SNAT, dan hapus salah satu IP pada eno1, jika Anda tidak membutuhkan keduanya. Dua alamat IP publik tentang apa yang tampak sebagai antarmuka ethernet hanya terlihat aneh. Mengapa pengaturan itu?

Dugaan saya adalah server openvpn Anda sedang mengulang dan menjatuhkan paket bolak-balik, yang mengarah ke masalah ini.

AntonioP
sumber
Saya memiliki aturan penyamaran sekarang, itu tidak menyelesaikan masalah. Saya punya dua di server saya, dengan satu di antaranya adalah failover dan yang lainnya utama. Untuk memiliki server dengan empat ips pada antarmuka eth0 (pada server Archlinux lain) selama lebih dari setahun, saya dapat memberi tahu Anda bahwa beberapa ips bukan masalah di sini ...
Cubox
0

Apakah Anda menjalankan server dns Anda sendiri secara internal? Saya memiliki masalah dengan jaringan saya ketika saya menjalankan pengaturan powerdns untuk dns internal tetapi tidak memiliki zona terbalik yang dikonfigurasi dengan benar. Wireshark memberikan jawaban dalam kasus itu.

Peter Nunn
sumber