Traceroute 및 ping 명령의 특정 출력을 파일에 복사합니다.

Traceroute 및 ping 명령의 특정 출력을 파일에 복사합니다.

저는 Linux를 처음 접했으므로 너무 가혹하게 말하지 마세요. :) 저는 현재 ISP와 CGNAT에 속해 있으며 네트워크 외부에서 홈 서버에 연결할 수 있는 유일한 방법은 WAN IP를 통해 액세스하는 것입니다. (이 내용은 라우터 관리 페이지에서 확인할 수 있습니다. 참조) 타이핑해서 찾았어요

traceroute -n 8.8.8.8

그런 다음 세 번째 IP 주소를 복사하여 ping 명령에 입력합니다.

ping -c 3 -R x.x.x.x

WAN IP의 출력을 알려주세요.

해당 WAN IP를 파일에 복사하여 ddclient ddclient.conf의 구성 파일에 붙여넣는 방법을 찾고 있습니다.

내가 달성하려는 목표에 대한 더 우아한 해결책이 있다면 좋을 것입니다!

답변1

pingand를 사용하는 traceroute것은 그들이 사용하기 때문에 반드시 도움이 되지는 않습니다.ICMP프로토콜로서 많은 시스템은 보안상의 이유로 ICMP 에코 요청에 응답하지 않도록 구성됩니다. 내 시스템의 예:

pg@TREX:~$ traceroute -n 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  192.168.1.1  0.699 ms  0.594 ms  0.800 ms
 2  213.243.152.36  25.235 ms * *
 3  * * *
 4  * * *
 5  142.250.169.179  26.723 ms  26.534 ms  26.464 ms
 6  142.250.169.178  34.509 ms  34.216 ms  34.234 ms
 7  * * *
 8  8.8.8.8  21.684 ms  24.621 ms  16.712 ms

별표는 시스템이 응답하지 않음을 나타냅니다.

dig원하는 것을 쉽게 제공하세요.

pg@TREX:~$ dig +short myip.opendns.com @resolver1.opendns.com
XX.YY.50.178

빈 결과가 나타나면 dig실행하기 전에 IPv6을 비활성화하십시오.

pg@TREX:~$ ip add show dev enp11s0
2: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 78:f2:9e:f6:1c:0f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.220/24 brd 192.168.1.255 scope global dynamic noprefixroute enp11s0
       valid_lft 86262sec preferred_lft 86262sec
    inet6 2001:96ab:c4:3c0a:ec56:2319:9a63:3/128 scope global dynamic noprefixroute 
       valid_lft 7064sec preferred_lft 3464sec
    inet6 fdec:5623:b43a:a2a9:9039:d8ab:961f:bd6c/64 scope global dynamic noprefixroute 
       valid_lft 7074sec preferred_lft 3474sec
    inet6 2001:14bb:a2:6830:28de:50f1:f2db:9ebf/64 scope global dynamic noprefixroute 
       valid_lft 7074sec preferred_lft 3474sec
    inet6 fe80::9f5b:debb:1215:54e2/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
pg@TREX:~$ dig +short myip.opendns.com @resolver1.opendns.com
pg@TREX:~$ 

답변2

인터넷에는 귀하가 연결된 IP 주소를 알려주는 여러 사이트가 있습니다. 내가 유용하다고 생각한 것 중 하나는http://ifconfig.me(이것은 http 또는 https 프로토콜에서 작동합니다. 브라우저에서 이를 보면 브라우저 및 명령줄 사용 지침에 대한 세부 정보와 함께 IP 주소가 표시됩니다.)

명령줄에서 IP 가져오기를 사용할 수 있습니다 curl. 예를 들어

curl ifconfig.me

그러면 IP 주소만 반환되고 HTML은 반환되지 않으며 IP 다음에는 개행 문자도 반환되지 않습니다.

다음과 같은 간단한 래퍼 스크립트와 함께 사용합니다.

$ cat /usr/local/bin/what-is-my-ip.sh
#!/bin/sh

unset http_proxy
unset https_proxy

curl ifconfig.me
echo

관련 정보