
私はLinuxに初めて触れたので、あまりにも過酷に言わないでください。 :)私は現在ISPとCGNATに属しており、ネットワークの外部からホームサーバーに接続する唯一の方法はWAN IPを介してアクセスすることです。 (この内容はルータ管理ページで確認できます。参照) 入力して見つけました
traceroute -n 8.8.8.8
次に、3番目のIPアドレスをコピーしてpingコマンドに入力します。
ping -c 3 -R x.x.x.x
WAN IPの出力を教えてください。
そのWAN IPをファイルにコピーして、ddclient ddclient.confの設定ファイルに貼り付ける方法を探しています。
私が達成しようとしている目標のためのよりエレガントな解決策があれば良いでしょう!
答え1
ping
andを使用する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アドレスを知らせる複数のサイトがあります。私が役に立つと思ったことの1つは、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