Setup OpenVPN Connection to Synology using Teltonika RUTX11

I recently bought this router for the Camper Van to have a good connectivity while on the road. I want to use OpenVPN to remote control the Teltonika device while operating on a mobile network. Usually a fixed IP is needed on the SIM card which is inconvenient to get.

I configured the OpenVPN connection using the exported configuration but it never established a connection. I also noticed that I won’t ask for username/password but this is required to connect to Synology’s OpenVPN server.

The support documents at the Teltonika website didn’t really fit to my situation with Synology.

This instructions are written for the RUTX11 but should be usable on other Teltonika models as well.

1.Identifying the issue

To read the logfile on the Teltonika router I opened System -> Administration -> Troubleshoot -> Show (System Log)

One line caught my eye:

daemon.err openvpn(Test)[3644]: neither stdin nor stderr are a tty device and you have neither a controlling tty nor systemd – can’t ask for ‘Enter Auth Username:’. If you used –daemon, you need to use –askpass to make passphrase-protected keys work, and you can not use –auth-nocache.

The issue identified

So the issue is that Username/Password is required for Synology OpenVPN but the Teltonika expects a certificate based authentication.

2. Solution

Its quite simple to fix.

  1. Connect with WinSCP to the Teltonika Router. I had to change the Transfer protocol to SCP to make the connection working. Then open /etc/openvpn/ and create a new file “userpass”. Place the username required to connect to the Synology OpnVPN server at the first line and the password on the second line. Save the file.
  2. Open the VPNConfig.ovpn file from the Synology OpenVPN configuration export and change:
    • “auth-user-pass” to “auth-user-pass /etc/openvpn/userpass”
  3. Now import the VPNConfig.ovpn at your Teltonika Router on Services-> VPN-> OpenVPN-> Add
    • Specify Role to be “Client”
    • On the Main Settings page
      • Enable -> On
      • External Services -> Off
      • OpenVPN configuration file -> Select the previously modified VPNConfig.ovpn file
      • Upload OpenVPN authentication files -> Off

Voila. Enjoy your OpenVPN connection!

If you like this guide or have questions, please leave a comment. There is a follow up article “How to reach Teltonikas RUTX11 Webinterface thru the OpenVPN Tunnel“.



Remark (Not needed for the above issue but may be helpful for some users): My Synology is reachable from Internet using a certain DNS name. Therefore I need to include the DNS name at VPNConfig.ovpn on the line starting with “remote…”

remote YOUR_Synology_DNS_Name 1194

All services in Synology DSM 7.0

ServiceDescription
avahi.serviceAvahi daemon     
crond.servicePeriodic Command Scheduler    
dbus-session.serviceD-Bus Session Message Bus   
dbus-system.serviceD-Bus System Message Bus   
dhclient@ovs_eth0.serviceovs_eth0 DHCP Client    
findhostd.servicefindhost daemon     
ftpd.serviceFTP Daemon     
hotplugd.servicedaemon for handle hotplug event  
ip-conflict-detect.serviceSet IP Conflict Detect   
irqbalance.serviceService for irq balance   
nginx.serviceNginx      
ntpd.serviceNetwork Time Service    
pgsql.servicePostgreSQL database server    
pkg-ActiveBackup-agent-authd.serviceActive Backup Agent Authd   
pkg-ActiveBackup-agent-restored.serviceActive Backup Agent Restore Service  
pkg-ActiveBackup-agent-server.serviceActive Backup Agent Server   
pkg-ActiveBackup-agentless-server.serviceActive Backup Agentless Server   
pkg-ActiveBackup-apid.serviceActiveBackup for Business apid   
pkg-ActiveBackup-dsmcached.serviceActive Backup DSM Cache Daemon  
pkg-ActiveBackup-fused.serviceActive Backup Fuse Daemon   
pkg-ActiveBackup-hypervisor-server.serviceActive Backup vSphere Server Daemon  
pkg-ActiveBackup-job-queued.serviceActive Backup Job Queue Daemon  
pkg-ActiveBackup-lo-server.serviceActive Backup Lo Server   
pkg-ActiveBackup-logd.serviceActive Backup Log Server   
pkg-ActiveBackup-privileged.serviceActive Backup Privilege Action Service  
pkg-ActiveBackup-proxyd.serviceActive Backup Proxy Service   
pkg-ActiveBackup-retention.serviceActive Backup Rotation Daemon   
pkg-ActiveBackup-synodedup-engined.serviceSynology Version Dedup Engine daemon  
pkg-apache24.serviceApache2.4 daemon     
pkg-Docker-dockerd.serviceDocker Application Container Engine   
pkg-Docker-termd.serviceDaemon for container terminal session  
pkg-etcd.servicestart etcd     
pkg-FileStation-thumbd.serviceFileStation Thumbnail Daemon      
pkg-libvirtd.servicelibvirt daemon     
pkg-ReplicationService-synobtrfsreplicad.serviceReplication Service Daemon    
pkg-scsi-plugin-server.serviceSAN Plugin Server    
pkg-scsit-monitor.serviceSCSI Target Monitor    
pkg-syno-etcd-logd.serviceetcd log daemon    
pkg-synocccd.servicesynoccc daemon     
pkg-synocccstated.servicesynoccc state daemon    
pkg-SynoFinder-fileindexd.servicepkg-SynoFinder-fileindexd      
pkg-SynoFinder-synoelasticd.servicepkg-SynoFinder-synoelasticd      
pkg-synohostcmdd.serviceSynology host command handle daemon  
pkg-synohostcommd.serviceSynology host communication daemon   
pkg-synohostsvcd.serviceSynology host service daemon   
pkg-SynologyApplicationService-notification_send.serviceSynology Application Service notification send daemon 
pkg-SynologyApplicationService-pgbouncer.serviceSynology Application Service pgbouncer   
pkg-SynologyApplicationService-session_watcher.serviceSynology Application Service session watcher daemon 
pkg-SynologyApplicationService-VapidSendServer.serviceSynology Application Service vapid send daemon 
pkg-synologydrive-apid.serviceSynology Drive apid    
pkg-synologydrive-authd.serviceSynology Drive authd    
pkg-synologydrive-clientd.serviceSynology Drive clientd    
pkg-synologydrive-redis.serviceSynology Drive redis    
pkg-synologydrive-syncd.serviceSynology Drive syncd    
pkg-synologydrive-vmtouchd.serviceSynology Drive vmtouchd    
pkg-synologydrive-workerd.serviceSynology Drive workerd    
pkg-SynologyPhotos-apid.serviceSynologyPhotos apid     
pkg-SynologyPhotos-bg-jobd.serviceSynologyPhotos Background Jobs    
pkg-SynologyPhotos-check-album.serviceSynologyPhotos Check Album Service   
pkg-SynologyPhotos-check-center.serviceSynologyPhotos User Check    
pkg-SynologyPhotos-face-extraction.serviceSynologyPhotos face-extraction     
pkg-SynologyPhotos-geocoding.serviceSynologyPhotos Geocoding     
pkg-SynologyPhotos-notify-center.serviceSynologyPhotos Synotify Daemon      
pkg-SynologyPhotos-person-clustering.serviceSynologyPhotos person-clustering     
pkg-SynologyPhotos-pgbouncer.serviceSynologyPhotos PgBouncer     
pkg-SynologyPhotos-task-center.serviceSynologyPhotos Task center      
pkg-SynologyPhotos-thumb.serviceSynologyPhotos Thumb     
pkg-SynologyPhotos-thumbnail-provider.serviceSynologyPhotos Thumbnail Provider    
pkg-synosamba-nmbd.serviceNetBIOS name server    
pkg-synosamba-smbd.serviceSamba SMB Daemon    
pkg-synosamba-wsdiscoveryd.serviceWS-Discovery Server     
pkg-synosamba-wstransferd.serviceWS-Transfer Server     
pkg-synovncrelayd.servicestart synovncrelayd     
pkg-tcmu-runner.serviceLIO Userspace-passthrough daemon(tcmu-runner)    
pkg-VPNCenter-openvpn-server.serviceOpenVPN server of VPN Server package 
pkg-VPNCenter-vpnauthd.serviceRadius daemon of VPN Server package 
pkg-WebStation-fcgiwrap.serviceWebStation fcgiWrap daemon    
pkg-WebStation-php70@9f1e642a-0d20-4664-8934-c51d34f609de.serviceWebStation PHP7.0 fpm process   
pkg-WebStation-php72@f5aced07-eaae-4fba-a28e-1e49f6bee51e.serviceWebStation PHP7.2 fpm process   
pkg-WebStation-php73@60557a02-0d3c-489c-85e5-c05685bbb3cb.serviceWebStation PHP7.3 fpm process   
pkg-WebStation-php74@84cd762d-3d8e-4439-bd82-481185e8e02b.serviceWebStation PHP7.4 fpm process   
s2s_daemon.serviceShared Folder Sync Daemon   
scemd.servicedaemon for monitor HW/system status  
serial-getty@ttyS2.serviceSerial Getty on ttyS2   
snmpd.serviceSNMP Daemon     
ssdp.serviceSSDP service     
sshd.serviceOpenBSD Secure Shell server   
syno_disk_latency_monitor.serviceSynology daemon for monitoring disk latency. 
synoagentregisterd.servicesynoagentregister daemon     
synobackupd.servicesynobackup daemon     
synocgid.serviceSynology CGI Auth Daemon   
synoconfd.servicesynoconfd daemon     
synocontentextractd.servicesynoce daemon     
synocrond.serviceSynology Cron Daemon    
synodbudd.serviceSynology Database Update Daemon   
synoindex-mediad.servicesynoindex mediad     
synoindex-notifyd.servicesynoindex notifyd     
synoindex-plugind.servicesynoindex plugind     
synoindex-scand.servicesynoindex scand     
synoindex-workerd.servicesynoindex workerd     
synoindexd.servicesynoindexd      
synologand.servicedaemon for monitor logs and generate alert
synologrotated.serviceLog Rotate Daemon    
synomkflvd.servicesynomkflvd      
synomkthumbd.servicesynomkthumbd      
synonetd.serviceSynology Network Daemon    
synoneteventd.serviceSynology Network Event Daemon   
synoovs-db.serviceOpen vSwitch database server   
synoovs-vswitch.serviceOpen vSwitch deamon    
synoperfeventd.serviceDaemon of performance alarm   
synoscgi-socket.serviceSynology SCGI SocketIO    
synoscgi.serviceSynology SCGI     
synoscheduled-vmtouch.serviceSynology Task Scheduler Vmtouch   
synoscheduled.serviceSynology Schedule Daemon    
synoscheduler-vmtouch.serviceSynology Task Scheduler Vmtouch   
synosnmpcd.serviceDaemon for Resource Monitor   
synostoraged.serviceSynology daemon for monitoring space/disk/cache status 
synotifyd.servicesynotifyd      
syslog-acc.serviceSynology log accounting service   
syslog-ng.serviceSystem Logger Daemon    
systemd-journald.serviceJournal Service     
systemd-logind.serviceLogin Service     
systemd-udevd.serviceudev Kernel Device Manager   
systemd-journald-audit.socketJournal Audit Socket    
systemd-journald-dev-log.socketJournal Socket (/dev/log)    
systemd-journald.socketJournal Socket     
systemd-udevd-control.socketudev Control Socket    
systemd-udevd-kernel.socketudev Kernel Socket