Hello List,
On FreeBSD 10.1-RELEASE-p24 when I connect with my iOS OpenVPN app to the server I will get a download speed of 0.47 Mbps and an upload speed of 25.27 Mbps. I have tried different speedtest sources and the result is constant.
I would like to solve this huge discrepancy between the download and upload speed as such that the download speed becomes as as fast as the upload speed.
I am on digitalocean and my disk and CPU load are negligible (there is nothing else going on, on the machine).
Following is the nic config
>>>>>>
vtnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=6c03bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,
- VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
ether 04:01:62:e8:40:01
inet6 fe80::601:62ff:fee8:4001%vtnet0 prefixlen 64 tentative scopeid 0x1
inet 11.11.11.111 netmask 0xffffc000 broadcast 11.11.11.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet 10Gbase-T <full-duplex>
status: active
<<<<<<
Following is my server.conf
Notes:
I have tried 393216 and 524288 and this doesn't make any difference
in sysctl.conf I have net.inet.ip.fastforwarding=1
In essence I have configured every piece of optimisation I have found, inclusive hardware offloading
>>>>>>
user nobody # drop privileges after starting
group nogroup
server 10.20.30.0 255.255.255.0 # internal tun0 connection Subnet
port 1194
proto udp
dev tun
persist-key
persist-tun
ca keys/ca.crt # generated keys
cert keys/server.crt
key keys/server.key # keep secret
dh keys/dh2048.pem
tls-auth keys/tls-auth.key 0 # mutual secret to pass before the initial handshake
cipher BF-CBC
ifconfig-pool-persist ipp.txt
status log/openvpn-status.log
log log/openvpn.log
tun-mtu 1400
mssfix 1360
# sndbuf 393216
# rcvbuf 393216
# push "sndbuf 393216"
# push "rcvbuf 393216"
tcp-queue-limit 128
tcp-nodelay
sndbuf 524288
rcvbuf 524288
fast-io
engine rdrand
keepalive 10 120
push "sndbuf 524288"
push "rcvbuf 524288"
push "redirect-gateway def1 bypass-dhcp"
push "dchp-option DNS 208.67.222.222"
push "dchp-option DNS 208.67.220.220"
client-config-dir ccd
verb 3
<<<<<<
Following is my sysctl.conf
>>>>>>
net.inet.udp.blackhole=1
net.inet.tcp.blackhole=2
security.bsd.see_other_gids=0
security.bsd.see_other_uids=0
net.inet.tcp.path_mtu_discovery=0
net.inet.tcp.icmp_may_rst=0
net.inet.tcp.ecn.enable=1
net.inet.tcp.drop_synfin=1
net.inet.tcp.always_keepalive=0
net.inet.ip.redirect=0
net.inet.ip.random_id=1
net.inet.ip.process_options=0
net.inet.tcp.tso=0
net.inet.tcp.syncookies=0
net.inet.ip.rtexpire=10
net.inet.tcp.syncache.rexmtlimit=0
net.inet.tcp.cc.algorithm=htcp
net.inet.tcp.cc.htcp.rtt_scaling=1
net.inet.tcp.cc.htcp.adaptive_backoff=1
kern.ipc.maxsockbuf=4194304
net.inet.tcp.sendbuf_max=4194304
net.inet.tcp.recvbuf_max=4194304
net.inet.tcp.mssdflt=1360
net.inet.tcp.minmss=1300
net.inet.ip.fastforwarding=1
<<<<<<
Following is my loader.con
>>>>>>
console="vidconsole,comconsole"
autoboot_delay="10"
cc_htcp_load="YES"
net.inet.tcp.hostcache.cachelimit="0"
net.link.ifqmaxlen="2048"
<<<<<<
Regards,
Karel Koks