QNAP üzerindeki OpenVPN QTS 4.2 düzenlenen config önyüklemeden sonra sıfırlandı


5

Bir OpenVPN sunucusunun yapılandırıldığı ve iyi çalıştığı bir QNAP TS-253 Pro'um (QTS 4.2.0) var . VPN bağlantılarını güvence altına almak için istemci sertifikaları kullanmak istediğimden, web arayüzündeki yerleşik yapılandırma hiç bir işe yaramaz.

Bu yüzden SSH / SCP üzerinden config ve sertifika dosyalarımı / etc / openvpn 'a aktardım , OpenVPN sunucusunu yeniden başlattım ve QNAP NAS'ı yeniden başlatana kadar iyi çalıştı. Yapılandırma QNAP fabrika ayarlarına geri döndü.

Görünen o ki, / etc / openvpn dizini, orijinal konfigürasyonu QNAP sayfamın web arayüzünden tutan / mnt / ext / opt / vpnopenvpn / etc / openvpn / ' a bir bağlantıdır . Çalıştığım bir sonraki şey, orada config'i düzenlemekti ve bir sonraki açılışta değiştirilmeyeceğini umuyordu, ancak bu bir çözüm değildi. Varsayılan fabrika varsayılan OpenVPN yapılandırma dosyalarını / mnt / ext / opt / vpnopenvpn / etc / openvpn / içinde yeniden başlattı ve buldum .

Fabrika varsayılan ayarlarının otomatik olarak açılmasını engellemek veya QNAP'in çalışmamı başlatmasını sağlamak için QNAP'ın resmi forumunda, resmi olmayan blog yayınlarında ve QNAP'taki bazı init.d-scriptlerinde birçok konu araştırdım. / etc / openvpn yapılandırması .

İşte güvensiz denemelerimin bir listesi:

  • Config / etc / openvpn dosyasına kopyalandı - config önyüklemede yeniden yazıldı
  • / Mnt / ext / opt / vpnopenvpn / etc / openvpn / - dizinine kopyalanan yapılandırma, önyükleme sırasında yeniden yazıldı
  • Aşağıdaki yönergeleri takip edin : http://wiki.nas-portal.org/index.php/Install_OpenVPN_on_QNAP - qpkg / ipkg dosyasını QTS'nin gerçek sürümünde bulamadı (4.2.0 çalışıyor), belki daha eski bir sürüm için yazılmıştır ...
  • Kendiliğinden oluşturulmuş bir autorun.sh betiğini burada açıklandığı şekilde çalıştırmayı denedi: http://forum.qnap.com/viewtopic.php?t=83804#p372711 - / boot'daki klasörler her önyüklemede yeniden oluşturulmuş gibi görünüyor
  • Resmi QNAP forumlarındaki kullanıcılardan önerilen bu konuya tamamen eklediniz: http://forum.qnap.com/viewtopic.php?f=90&p=61890&t=10400&sid=6aa706cb2ff41a75c6f048883328512a - özel yapılandırmamla ilgili görünmüyor /
  • /Etc/init.d/installtgz.sh adresindeki openvpn'ye özgü bölümleri yorumladı - dosyanın kendisi önyükleme sırasında yeniden yazıldı ve yorumlarım betiğin etkin bir parçasıydı

Yapılandırma dosyalarımı yeniden yazmak için QTS'nin nasıl durdurulacağını bilen var mı? Her QNAP yeniden başlatıldığında OpenVPN yapılandırmasını elle kopyalamak istemiyorum ...


bu yorumu after restarting vpn_openvpn.sh, server.conf resets to default valuesqnap forumunda buldu ( forum.qnap.com/viewtopic.php?t=83804 ). Sorununla ilgisi yok gibi görünüyor ama belki orada yardım alabilirsin.
bataklık kıpırdatmak

Özür dilerim, orada başarı ile önerilmiş olan geçici çözümü zaten denedim :(
HannesS

Yanıtlar:


3

Benzer bir çözüm arıyordum, çünkü sabit IP numaraları için bir serveride Open VPN config gerekiyordu. Benim çözümüm vpn_openvpn.sh dosyasına, satır satırım 210 daemon_mgr başlamadan hemen önce bir satır eklemek oldu.

<snip>
  usr/bin/openssl verify -CAfile /etc/openvpn/keys/ca.crt /etc/openvpn/keys/myserver.crt 2>/dev/null | /bin/grep "OK" >/dev/null
  echo client-config-dir clientconfig >>/etc/openvpn/server.conf
            if [ $? == 0 ] && [ ! -f ${PIDFILE} ]; then
</snip>

Eko ile başlayan satırı ekledim. Bu noktada /etc/openvpn/server.conf içindeki yapılandırmayı da değiştirebilmelisiniz.

Buraya eklendiğinde, hat OpenVPN Sunucusunun yeniden başlatılmasından kurtulacak, ancak acı verici bir şekilde deneyimlediğiniz gibi, önyükleme sırasında birçok dosya yeniden oluşturulacak. Burası autorun.sh'ın devreye girdiği yer. Nasıl kullanılır? Burada bulabileceğiniz tam sözdizimi, sahip olduğunuz QNAP NAS türüne dayanır.

Buradaki önyükleme sırasındaki "düzeltme" yi yeniden oluşturmak için buraya sed çizgi ekleyebilirsiniz.

sed "210i echo client-config-dir clientconfig >>/etc/openvpn/server.conf" /etc/init.d/vpn_openvpn.sh >/etc/init.d/vpn_openvpn.sh.tmp
rm /etc/init.d/vpn_openvpn.sh
mv /etc/init.d/vpn_openvpn.sh.tmp
chmod +x /etc/init.d/vpn_openvpn.sh
/etc/init.d/vpn_openvpn.sh restart

Senin durumunda autorun.sh şöyle görünmeli:

sed "210i /bin/sed -i -e 's/client-cert-not-required/#client-cert-not-required/g' /etc/openvpn/server.conf" /etc/init.d/vpn_openvpn.sh >/etc/init.d/vpn_openvpn.sh.tmp
rm /etc/init.d/vpn_openvpn.sh
mv /etc/init.d/vpn_openvpn.sh.tmp /etc/init.d/vpn_openvpn.sh
chmod +x /etc/init.d/vpn_openvpn.sh
/etc/init.d/vpn_openvpn.sh restart

Çalışırsa beni bilgilendir

Düzenleme: Bazı yeniden düşünmeden sonra bile daha kısa yapabilirsiniz

sed -i "210i /bin/sed -i -e 's/client-cert-not-required/#client-cert-not-required/g' /etc/openvpn/server.conf" /etc/init.d/vpn_openvpn.sh 
/etc/init.d/vpn_openvpn.sh restart

Çok umut verici görünüyor, yarın ofisine döndüğümde deneyeceğim :) paylaşım için şimdiden teşekkür ederiz!
HannesS

Tıkır tıkır çalışıyor. Sed komutuna birden çok satır sığdırmaya çalışırken bazı sorunlar yaşadım, çünkü yeni satır olarak \ n kullanmayacaktı , ama nihayet benim yapılandırmam ve çalışıyor. Teşekkürler! Konfigürasyon dosyalarımı saklamak ve autorun.sh içine kopyalamak için config diskini bile kullandım - böylece orada rahatça düzenlenebildiler.
HannesS

Yardımcı olduğuma sevindim.
TechImpossible

Ayarlarımı saklamak için sorun yaşıyorum /etc/config/smb.conf. Bence cevabınız çözüm olabilir. Ama cevabınızı anlamıyorum - üzgünüm. Belki biraz daha genel açıklayabilirsiniz (tüm config dosyaları için).
Buhtz

Tech'in cevabındaki amaç, NAS'ın önyükleme zamanında yüklenen bir komut dosyasını değiştirmek veya oluşturmak. Amaçlarına bakılmaksızın tüm yapılandırma dosyalarına uygulanabilir (ovpn, smb, cron vb ...) Bağlantılı wiki makalesindeki autorun.sh, QNAP yeniden başlatıldığında her seferinde çalıştırılır, bu yüzden kendi yapılandırmamızı oluşturmak için düzenleriz her yeniden başlatmada dosyalar ve komut dosyaları. Tam olarak
strazgeling

0

QNAP config'de varsayılan ağ geçidini kaldırmak için:

sed -i -e '/if \[ $? == 0 \] && \[ ! -f ${PIDFILE} \]; then/a\/bin\/sed -i -e \"s/push \\"redirect-gateway def1\\"/#push \\"redirect-gateway def1\\"/g\" /etc/openvpn/server.conf' /etc/init.d/vpn_openvpn.sh

Bunu neden varsayılan olarak yapamıyorum ve QNAP neden cihazlarını yapılandırdı ki yapılandırmaları geçersiz kıldılar ve tüm garip kurallara ve farklı dizinlere sahipler bu kadar kötü bir uygulama ve gizem.

İnsanlar böyle zor geçici çözümlere ihtiyaç duymamalı ve bu tür temel şeyler için Linux'ta otomatik olarak çalıştırılmalıdır. Neredeyse Linux'u olduğundan daha kafa karıştırıcı ve zor hale getirmek istediler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.