मैं कैसे सत्यापित करूं कि DDCLIENT SSL का उपयोग कर रहा है और यदि यह नहीं है, तो मैं इसे कैसे लागू करूं?


9

मैं अपने पीआई पर वीपीएन स्थापित करने के लिए इस गाइड का पालन ​​कर रहा हूं। चरणों का हिस्सा एक गतिशील डीएनएस सेवा को स्थापित और कॉन्फ़िगर करना है। मैंने कई प्लेटफार्मों पर कई खाते बनाए हैं। कोई भी आईपी और डायनामेडन्स नाम के दो नहीं हैं। नीचे मेरी ddclient.conf फ़ाइल का आउटपुट है, यह दोनों डायनामिक डीएनएस साइटों पर ठीक जोड़ता है।

daemon=60                               # check every 60 seconds
syslog=yes                              # log update msgs to syslog
mail=root                               # mail all msgs to root
mail-failure=root                       # mail failed update msgs to root
pid=/var/run/ddclient.pid               # record PID in file.
ssl=yes                                 # use ssl-support.  Works with
                                        # ssl-library
use=web, web=myip.dnsdynamic.com        # get ip from server.
server=www.dnsdynamic.org               # default server
login=YOURUSERNAME                      # default login
password=YOURPASSWORD                       # default password
server=www.dnsdynamic.org,              \
protocol=dyndns2                        \
MYDOMAIN.dnsdynamic.COM

मेरा मुद्दा यह है कि इस लेख में, वे बताते हैं कि कैसे सत्यापित करें कि आपका पीआई एसएसएल से कनेक्ट हो रहा है। जब मैं दौड़ता हूं

sudo ddclient -verbose -debug -noquiet -query 

यह प्रत्येक साइट के लिए HTTP बनाम HTTPS या SSL से जुड़ने को दर्शाता है। मैंने सत्यापित किया कि ssl को रन करके इंस्टॉल किया गया था

sudo apt-get install ssh libio-socket-ssl-perl

किसी भी विचार अगर यह ssl के माध्यम से कनेक्ट हो रहा है या मैं इसे कैसे मजबूर कर सकता हूं? मैं इस लेख के माध्यम से भी दौड़ा हूँ । मैंने देखा कि ddclient ने कहा है कि यह SSL का उपयोग करेगा यदि उपलब्ध हो, तो मैं सोच रहा था कि क्या यह एक मुफ्त डायनामडन्स साइट का उपयोग करने के लिए एक सीमा है या अगर मैं कुछ देख रहा हूं। लेखों से ऐसा प्रतीत होता है, जैसे मैं जिन साइटों का उपयोग कर रहा हूं, वे बिना आईपी और डीएनएसडायनामिक सपोर्ट के एसएसएल हैं।


1
मेरे पास sudo ddclient -debug -verbose -noquietनहीं है sudo ddclient -verbose -debug -noquiet -query जैसा कि आपके पास है ... दूसरे लिंक में
जॉर्ज उदेन

@ जॉर्ज कि मेरी गलती है, मैं -क्वेरी को जोड़ने से चूक गया। हालाँकि, समस्या को फिर से नए सिरे से देखने पर और आपने मुझे समस्या को फिर से देखने के लिए प्रेरित किया और वास्तव में मुझे इसे हल करने में मदद की! उत्तर जोड़ना और प्रश्न को संपादित करेगा।
शालिनेटर

जवाबों:


4

मुझे जवाब मिल गया है और मुझे लगता है कि यह पहले से समझ में नहीं आ रहा है।

daemon=60                               # check every 60 seconds
syslog=yes                              # log update msgs to syslog
mail=root                               # mail all msgs to root
mail-failure=root                       # mail failed update msgs to root
pid=/var/run/ddclient.pid               # record PID in file.
ssl=yes                                 # use ssl-support.  Works with
                                        # ssl-library
use=web, web=https://myip.dnsdynamic.org        # get ip from server.
server=www.dnsdynamic.org               # default server
login=USERNAME                          # default login
password=PASSWORD                       # default password
server=www.dnsdynamic.org,              \
protocol=dyndns2                        \
YOUR DOMAIN GOES HERE

उपरोक्त एसएसएल को मजबूर करेगा और एसएसएल पर कनेक्ट करेगा। मेरे द्वारा किए गए दो बदलाव हैं।

लाइन use=web, web=myip.dnsdynamic.comहोनी चाहिए use=web, web=https://myip.dnsdynamic.org। कनेक्शन विफलताओं .comको बदलने से .orgरोकता है। https://कनेक्शन स्ट्रिंग से पहले जोड़ना यह SSL पर कनेक्ट करने की अनुमति देता है।

use=web, web=myip.dnsdynamic.orgशो से आउटपुट :

use=web, web=loopia address is IPADDRESSISHERE
CONNECT:  myip.dnsdynamic.org
CONNECTED:  using HTTP
SENDING:  GET / HTTP/1.0
SENDING:   Host: myip.dnsdynamic.org
SENDING:   User-Agent: ddclient/3.8.2
SENDING:   Connection: close

use=web, web=https://myip.dnsdynamic.orgशो से आउटपुट :

use=web, web=loopia address is IPADDRESSISHERE
CONNECT:  myip.dnsdynamic.org

The verification of cert '/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA/CN=www.dnsdynamic.org'
failed against the host 'myip.dnsdynamic.org' with the default verification scheme.

   THIS MIGHT BE A MAN-IN-THE-MIDDLE ATTACK !!!!

To stop this warning you might need to set SSL_verifycn_name to
the name of the host you expect in the certificate.

CONNECTED:  using SSL
SENDING:  GET / HTTP/1.0
SENDING:   Host: myip.dnsdynamic.org
SENDING:   User-Agent: ddclient/3.8.2
SENDING:   Connection: close

मैं अभी भी अनिश्चित हूं कि मजबूर ssl=yesकरने के कारण यह HTTPS को स्वचालित रूप से उपयोग करने का कारण नहीं बनता है, लेकिन यह अब एसएसएल से जुड़ रहा है और @George द्वारा देखा गया कमांड मुझे सत्यापित करने में मदद करता है:sudo ddclient -verbose -debug -noquiet -query


1

यह केवल "आईपी प्राप्त करें" हिस्सा है। डायनामिक DNS सर्वर का वास्तविक अपडेट आपके आउटपुट में नहीं दिखाया गया है। यह अभी भी HTTP पर किया जा सकता है।

root@ad26e03e9704:/bin# ddclient -daemon=0 -noquiet -debug -file /config/ddclient.conf
DEBUG:    get_ip: using cmd, /config/get_ip.sh reports 10.0.0.1
DEBUG:
DEBUG:     nic_dyndns2_update -------------------
DEBUG:    proxy  =
DEBUG:    url    = http://dyndns.strato.com/nic/update?system=dyndns&hostname=bla.mydomain.com&myip=10.0.0.1
DEBUG:    server = dyndns.strato.com
SUCCESS:  updating bla.mydomain.com: good: IP address set to 10.0.0.1

अगर मैं सर्वर के सामने https लगाता हूँ, तो मुझे यह मिलता है:

DEBUG:    url    = http://https://dyndns.strato.com/nic/update?system=dyndns&hostname=bla.mydomain.com&myip=10.0.0.1

पोस्ट करने के बाद से, मैंने अपने डीडीसीएलिएंट को चलाने वाले अपने पीआई को बंद कर दिया है। मुझे एक उदाहरण पर बात करनी होगी और डिबग शो में यह देखने के लिए एक और परीक्षा देनी होगी। धन्यवाद!
शालिनेटर

0

चूंकि मैं इस तथ्य से भी भ्रमित था कि आउटपुट लाइन में URL

DEBUG:    url    = http://(...)

एचटीटीपीएस के बजाय एचटीटीपी के साथ शुरू होता है हालांकि मेरे पास ssl=yesमेरे विन्यास में है, मैंने यह देखने के लिए स्रोत कोड देखने का फैसला किया कि क्या चल रहा है। यह पता चलता है कि जिस फ़ंक्शन geturlमें सर्वर से कनेक्शन शुरू किया गया है, वह http://हिस्सा वैसे भी URL से छीन लिया गया है ताकि यह वास्तविक कनेक्शन प्रकार का संकेत न हो। यदि आप यह सुनिश्चित करना चाहते हैं कि ddclient SSL का उपयोग करता है, तो बस टर्मिनल से ddclient को कॉल करें

sudo ddclient -verbose -force

और लाइनों के लिए देखो

CONNECTED:  using HTTP

या

CONNECTED:  using SSL

बाद के मामले में, ddclient वास्तव में SSL का उपयोग कर रहा है और आप जाने के लिए अच्छे हैं। ध्यान दें कि ssl=yesसेटिंग प्रारंभिक आईपी लुकअप पर लागू नहीं होती है जो ddclient यह जांचने के लिए उपयोग करता है कि क्या आपका सार्वजनिक आईपी पता बदल गया है (जो कि कॉन्फ़िगर किया गया है use=...), ताकि उस प्रारंभिक कनेक्शन के लिए आप अभी भी देखेंCONNECTED: using HTTPजब तक आप स्पष्ट रूप से HTTPS पता सेट नहीं करते हैं, @Shaulinator द्वारा उल्लेख किया गया है। हालाँकि, यह एक सुरक्षा समस्या नहीं होनी चाहिए क्योंकि इस अनुरोध के द्वारा लौटाया गया आईपी पता संभवतः केवल सर्वर साइड पर अनावश्यक प्रयास से बचने के लिए उपयोग किया जाता है; यह सर्वर को वास्तविक अपडेट रिक्वेस्ट में सर्वर को नहीं भेजा जाता है क्योंकि जब सर्वर एसएसएल कनेक्शन शुरू करता है तो सर्वर आपके आईपी पते को तुच्छ जानता है। मैंने इसे केवल फ्रीडन्स प्रोटोकॉल के लिए स्पष्ट रूप से जांचा है, लेकिन मुझे आश्चर्य होगा कि यह अन्य प्रोटोकॉल के लिए अलग होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.