debian jessie를 noip.com 업데이트 프로그램으로 구성하는 데 문제가 있습니다. 내 구성은 다음과 같습니다.
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
use=web
web=checkip.dyndns.com
web-skip='Current IP Address: '
protocol=dyndns2
server=dynupdate.no-ip.com/nic/update
login=myusername
password='mypass'
myhost.noip.me
모든 것이 괜찮아 보이지만 myhost.noip.me를 ping하면 IP 주소가 업데이트되지 않습니다. 검사 통과
ddclient -daemon=0 -debug -verbose -noquiet 2 /etc/ddclient.conf
나는 다음과 같은 응답을 받았습니다.
.conf
=== opt ====
opt{cache} : <undefined>
opt{cmd} : <undefined>
opt{cmd-skip} : <undefined>
opt{daemon} : 0
opt{debug} : 1
opt{exec} : <undefined>
opt{facility} : <undefined>
opt{file} : <undefined>
opt{force} : <undefined>
opt{foreground} : <undefined>
opt{fw} : <undefined>
opt{fw-login} : <undefined>
opt{fw-password} : <undefined>
opt{fw-skip} : <undefined>
opt{geturl} : <undefined>
opt{help} : <undefined>
opt{host} : <undefined>
opt{if} : <undefined>
opt{if-skip} : <undefined>
opt{ip} : <undefined>
opt{login} : <undefined>
opt{mail} : <undefined>
opt{mail-failure} : <undefined>
opt{max-interval} : 2592000
opt{min-error-interval} : 300
opt{min-interval} : 30
opt{options} : <undefined>
opt{password} : <undefined>
opt{pid} : <undefined>
opt{postscript} : <undefined>
opt{priority} : <undefined>
opt{protocol} : <undefined>
opt{proxy} : <undefined>
opt{query} : <undefined>
opt{quiet} : 0
opt{retry} : <undefined>
opt{server} : <undefined>
opt{ssl} : <undefined>
opt{syslog} : <undefined>
opt{test} : <undefined>
opt{timeout} : <undefined>
opt{use} : <undefined>
opt{verbose} : 1
opt{web} : <undefined>
opt{web-skip} : <undefined>
=== globals ====
globals{daemon} : 60
globals{debug} : 1
globals{login} : myusername
globals{password} : mypass
globals{protocol} : dyndns2
globals{quiet} : 0
globals{server} : dynupdate.no-ip.com/nic/update
globals{use} : web
globals{verbose} : 1
globals{web} : checkip.dyndns.com
globals{web-skip} : Current IP Address:
=== config ====
config{myhost.noip.me}{atime} : 0
config{myhost.noip.me}{backupmx} : 0
config{myhost.noip.me}{cacheable} : ARRAY(0x1770c50)
config{myhost.noip.me}{cmd} : <undefined>
config{myhost.noip.me}{cmd-skip} :
config{myhost.noip.me}{custom} : 0
config{myhost.noip.me}{fw} :
config{myhost.noip.me}{fw-login} : <undefined>
config{myhost.noip.me}{fw-password} :
config{myhost.noip.me}{fw-skip} :
config{myhost.noip.me}{host} : myhost.noip.me
config{myhost.noip.me}{if} : ppp0
config{myhost.noip.me}{if-skip} :
config{myhost.noip.me}{ip} : <undefined>
config{myhost.noip.me}{login} : myusername
config{myhost.noip.me}{max-interval} : 2592000
config{myhost.noip.me}{min-error-interval} : 300
config{myhost.noip.me}{min-interval} : 30
config{myhost.noip.me}{mtime} : 0
config{myhost.noip.me}{mx} :
config{myhost.noip.me}{password} : mypass
config{myhost.noip.me}{protocol} : dyndns2
config{myhost.noip.me}{script} : /nic/update
config{myhost.noip.me}{server} : dynupdate.no-ip.com/nic/update
config{myhost.noip.me}{static} : 0
config{myhost.noip.me}{status} :
config{myhost.noip.me}{use} : web
config{myhost.noip.me}{warned-min-error-interval} : 0
config{myhost.noip.me}{warned-min-interval} : 0
config{myhost.noip.me}{web} : checkip.dyndns.com
config{myhost.noip.me}{web-skip} : Current IP Address:
config{myhost.noip.me}{wildcard} : 0
config{myhost.noip.me}{wtime} : 30
=== cache ====
cache{myhost.noip.me}{atime} : 0
cache{myhost.noip.me}{backupmx} : 0
cache{myhost.noip.me}{custom} : 0
cache{myhost.noip.me}{host} : myhost.noip.me
cache{myhost.noip.me}{ip} : 12.34.56.78
cache{myhost.noip.me}{mtime} : 1437992275
cache{myhost.noip.me}{mx} :
cache{myhost.noip.me}{script} : /nic/update
cache{myhost.noip.me}{static} : 0
cache{myhost.noip.me}{status} :
cache{myhost.noip.me}{warned-min-error-interval} : 0
cache{myhost.noip.me}{warned-min-interval} : 0
cache{myhost.noip.me}{wildcard} : 0
cache{myhost.noip.me}{wtime} : 30
DEBUG: proxy =
DEBUG: url = checkip.dyndns.com
DEBUG: server = checkip.dyndns.com
CONNECT: checkip.dyndns.com
CONNECTED: using HTTP
SENDING: GET / HTTP/1.0
SENDING: Host: checkip.dyndns.com
SENDING: User-Agent: ddclient/3.8.2
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.1 200 OK
RECEIVE: Content-Type: text/html
RECEIVE: Server: DynDNS-CheckIP/1.0
RECEIVE: Connection: close
RECEIVE: Cache-Control: no-cache
RECEIVE: Pragma: no-cache
RECEIVE: Content-Length: 103
RECEIVE:
RECEIVE: <html><head><title>Current IP Check</title></head><body>Current IP Address: 12.34.56.78</body></html>
DEBUG: get_ip: using web, checkip.dyndns.com reports 12.34.56.78
SUCCESS: myhost.noip.me: skipped: IP address was already set to 12.34.56.78.
내 현재(인공) IP "12.34.56.78"이 올바르게 설정되어 있는 것 같습니다. 이제 (내 인공 호스트) myhost.noip.me를 핑하면 다른 IP를 얻게 됩니다.
ddclient가 noip.com과 작동하도록 하려면 무엇을 변경해야 하는지에 대한 제안 사항이 있습니까?
답변1
표시되는 추적은 컴퓨터의 IP를 ddclient
폴링 하고 IP가 변경되지 않았음을 확인하는 것을 보여줍니다.checkip.dyndns.com
dynupdate.no-ip.com
IP 변경을 위해 연락을 건너뛰기로 결정. 접촉되면 dynupdate.no-ip.com
추적에 다음과 같은 줄이 표시됩니다.
CONNECT: dynupdate.no-ip.com
그 뒤에는 여러 개의 SENDING
하모니 RECEIVE
라인이 이어질 것입니다.
ddclient
전체 작업을 강제로 수행하려면 를 sudo service ddclient stop
사용 하여 현재 실행 중인 데몬을 중지하고 sudo rm /var/cache/ddclient/ddclient.cache
. 이후의 실행에서는 모든 검사를 수행해야 합니다.
또한 구성 파일이 잘못되었습니다. 이는 설정의 일부이므로 설정 /nic/update
에 있어서는 안 됩니다 . ( 프로토콜을 사용한다는 것은 연결을 의미합니다.) 참고로 현재 구성은 다음과 같습니다.server
protocol
dyndns2
/nic/update
use=cmd
cmd='dig +short myip.opendns.com @resolver1.opendns.com'
protocol=dyndns2
ssl=yes
server=dynupdate.no-ip.com
login=<YOUR LOGIN>
password=<YOUR PASSWORD>
<YOUR HOST>
dig
HTTP를 통해 서버에 연결하는 대신 이 명령을 사용하여 공용 IP를 얻습니다.
답변2
protocol=noip
저는 noip를 사용하고 있지만 --help 플래그 안에 있는 것처럼 noip 프로토콜을 사용하고 있습니다. 자세한 내용은 이 도움말을 확인하세요.
답변3
구성의 유일한 문제는 서버 업데이트 주소입니다. 그것은해야한다:
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
use=web
web=checkip.dyndns.com
web-skip='Current IP Address: '
protocol=dyndns2
server=dynupdate.no-ip.com
login=myusername
password='mypass'
myhost.noip.me
다음 명령을 실행하여 구성을 테스트할 수 있습니다.
sudo ddclient -verbose -foreground
라우터 섹션을 확인한 다음("네트워크" 공급자를 사용하여 IP 주소 추출) no-ip를 사용하여 IP 주소를 인증하고 업데이트해야 합니다.
ONNECT: checkip.dyndns.com
CONNECTED: using HTTP
SENDING: GET / HTTP/1.0
SENDING: Host: checkip.dyndns.com
SENDING: User-Agent: ddclient/3.8.3
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.1 200 OK
RECEIVE: Content-Type: text/html
RECEIVE: Server: DynDNS-CheckIP/1.0.1
RECEIVE: Connection: close
RECEIVE: Cache-Control: no-cache
RECEIVE: Pragma: no-cache
RECEIVE: Content-Length: 106
RECEIVE:
RECEIVE: <html><head><title>Current IP Check</title></head><body>Current IP Address: X.X.X.X</body></html>
INFO: setting IP address to X.X.X.X for myhost.noip.me
UPDATE: updating myhost.noip.me
CONNECT: dynupdate.no-ip.com
CONNECTED: using HTTP
SENDING: GET /nic/update?system=dyndns&hostname=myhost.noip.me&myip=X.X.X.X HTTP/1.0
SENDING: Host: dynupdate.no-ip.com
SENDING: Authorization: Basic bHBlbmFwQGdtYWlsLmNvbToyNjg3OGxhcA==
SENDING: User-Agent: ddclient/3.8.3
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.0 200 OK
RECEIVE: server: envoy
RECEIVE: content-type: text/plain; charset=UTF-8
RECEIVE: cache-control: no-cache
RECEIVE: date: Fri, 26 Jul 2019 18:48:25 GMT
RECEIVE: connection: close
RECEIVE:
RECEIVE: good X.X.X.X
SUCCESS: updating myhost.noip.me: good: IP address set to X.X.X.X
답변4
protocol=dyndns2
use=web, if=eth0
server=dynupdate.no-ip.com
[email protected]
password='mysuperpassword'
myhost.no-ip.org
"if = ppp0"이 있습니다. "전화 접속" 연결을 사용하고 있습니까? dsl ppp가 모뎀/라우터에 있기 때문에 내 것은 "if=eth0"입니다.
Your ping test is on the same network, or you try on a different (outside) computer? Could be a local DNS issue.