内部ipアドレスを見つけるにはどうすればよいですか?

Ubuntu server12.04がインストールされているので、GUIがありません。 コマンドifconfigを実行すると、内部IPアドレスが見つかりません。 それは言うinet addr:127.0.0.1。

ここでの出力は次のとおりです ifconfig -a:

eth0   link encap:Ethernet  HWaddr 00:06:4f:4a:66:f0    BROADCAST MULTICAST  MTU:1500  Metric:1    RX packets:0 errors:0 dropped:0 overruns:0 frame:0    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:1000    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)eth1   link encap:Ethernet  HWaddr 00:16:ec:05:c8:9c     BROADCAST MULTICAST  MTU:1500  Metric:1    RX packets:0 errors:0 dropped:0 overruns:0 frame:0    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:1000    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)lo     Link encap:Local Loopback    inet addr 127.0.0.1  Mask:255.0.0.0    inet6 addr:  ::1/128 Scope:Host    UP LOOPBACK RUNNING MTU:65536  Metric:1    RX packets:1800 errors:0 dropped:0 overruns:0 frame:0    Tx packets:1800 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:0    RX bytes:143896 (143.b KB)  TX bytes:143896 (143.8 KB)

etc/network/interfacesの内容は次のとおりです:

# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto eth0iface eth0 inet dhcp

誰かが私のためにこれを編集することができれば、etc/network/interfacesの内容は別々の行にあるべきです。

ホストの出力askubuntu.com あった:

;; connection timed out; no servers could be reached.

私は数ヶ月前にowncloudとwebminをセットアップし、問題なく1ヶ月間使用していました。 私は電源が2ヶ月前のある日オフになったと思うし、私は昨日までサーバーをオンに戻すことはありません。 私はインターネットの設定に影響を与えただろう何もしていないので、なぜそれがもう動作しないのか分かりません。 私のネットワークトポロジが行く限り、私はpc用のpci-eネットワークカードを持っています。 イーサネットラインはネットワークカードからスイッチに、次にそこからの変復調装置/ルーターに行きます。

hostname -I

これは余分な情報なしであなたにちょうどipアドレスを与えるでしょう。

これらのコマンドは、すべてのネットワーク情報を教えてくれます

ip add

または

ifconfig -a

あなたが言うようにそれがあなたに127.0.0.1しか与えないならば、2つのオプションがあります:

  1. ネットワークカードが接続されていないか、システムによって認識されていません

  2. ネットワークDHCPサーバーが実行されていないか、接続されていません

これは私が現在お勧めしているものです:

ip route get 8.8.8.8 | awk '{print $NF; exit}'

このコマンドの利点は、使用しているインターフェイスを知る必要がないことです(eth0? eth1? または多分wlan0?)、localhostアドレス、Dockerアドレス、VPNトンネルなどをフィルタリングする必要はありません。 そして、あなたは常に取得します 現在インターネット接続に使用されているIPアドレス その瞬間(イーサネットとwifiの両方に接続されている場合、またはVPNなどを介して接続されている場合などが重要です。).

これは、いくつかのインターフェイスで正しいIPが設定されていることだけでなく、(次の出力を解析するなど)テストします ifconfig ただし、ルーティングテーブルを正しく使用するように構成されていることもあります。

私はそのアイデアを見つけました この答えによって コリン・アンダーソン.

私はでそれを使用します インナリップ でスクリプト GitHubのmy scriptsコレクション でインストールすることができます。:

wget https://rawgit.com/rsp/scripts/master/internalipchmod a+x internalip

として使用し、:

internalip

または:

internalip TARGET

そして、あなたは接続に使用されるあなたのIPアドレスを取得します ターゲットIPアドレスを使用して. デフォルトのターゲットは次のとおりです 8.8.8.8 これは GoogleのパブリックDNSリゾルバ そして、インターネットのための良いデフォルト。

しかし、あなたが別のIPでそれを実行するならば:

internalip 127.2.3.4

その後、あなたが取得します:

127.0.0.1

それは接続に使用されるあなたのIPアドレスであるため 127.2.3.4 ループバックインターフェイス上。 これは、ターゲットがLAN、VPN、またはその他の特別なネットワーク上にある場合に便利で、その場合、インターネットに到達するためのデフォルトIP以外の接

外部IP

あなたのを点検するため 外付け IPアドレス(インターネット上のサーバーに接続したときに表示されるもの-ここで説明する内部IPアドレスとは異なる場合があります)を参照してくださ この答え.

Ifconfigを-aオプションと一緒に実行すると、インターフェイスにIPがあるかどうかにかかわらず、すべてのインターフェイスが表示されることに言及する価

ifconfigを単独で実行すると、割り当てられたIpを持つインターフェイスのみが表示されます。

ここでは、Perlを使用してIpのみを表示するために使用できる素敵なトリックです。

# ifconfig | perl -nle'/dr:(\S+)/ && print $1'192.168.1.100127.0.0.1

あなたのネットワークカードはシステムによって認識され、その理由はeth0とeth1が表示されます

ここでは、あなたのインターフェイスにIPを割り当てる簡単な方法です、それに応じて有効なIP/サブネットを使用します。

 ifconfig eth0 192.168.1.200/24 up 

次に、デフォルトのルートを追加する必要があります

route add default gw 192.168.1.1

ベスト,

このコマンドは、単一のデバイスのすべてのIPアドレスを表示します:

dev=eth0ip addr show $dev | awk '/inet/ {print $2}' | cut -d/ -f1

1行または2行の出力が出力されます。 最初のアドレスはinet/Ipv4アドレスで、システムがこれをサポートするように設定されている場合はもう1つはinet6/Ipv6です。

場合には、 ifconfig コマンドはIPアドレスを表示しませんでしたが、GUIを介してUbuntuマシンのIPアドレスを見つけるための非常に簡単で簡単な方法があります。 以下の手順に従います:

をクリックします。 ネットワークアイコン 通知領域で、をクリックします 接続情報.Network icon options

これは、IPアドレスを含むいくつかの情報を持つウィンドウが表示されます。IP address information

ここにはすでに選択できる良い答えがたくさんありますが、私は指摘したいと思いました ファクター これは通常ですが、システムに関するさまざまな事実を収集するためにpuppetで必ずしも使用されるわけではありません。 Facterの主な利点は、それがあなたにすべての操作を保存する素敵なクリーンな出力を与えることです grep, sed, awk, cut, perl、等。 それはあなたが興味を持っているインターフェイスを教えてくれるつもりはありませんが、あなたがそれを知っていれば、次はクリーンアップする他の:

facter ipaddress_eth0 

ipコマンド

ここでは、上のバリエーションです ip addr 方法。

ip 持っています -o 単一行にすべての情報を置くことを可能にするオプション-これはのようなツールで解析するのに便利です awk または perl. との組み合わせで -4 オプション、我々は唯一のIpv4アドレスが表示されます。 したがって、出力は次のようになります(注-wlan7をチェックしたいインターフェイスに置き換えます):

$ ip -4 -o addr show wlan73: wlan7    inet 192.168.0.78/24 brd 192.168.0.255 scope global dynamic wlan7\       valid_lft 85654sec preferred_lft 85654sec

ご覧のとおり、IPアドレスは出力の4列目/単語です。 残りは、 簡単な解析演習 お好みのツールを介して。 ここでは、私はpythonを使用しています:

ip -4 -o addr show wlan7 | python -c "import sys;print sys.stdin.readlines()[0].split()[3]" 

同じこと、ここでのみ文字列 <<< およびコマンド置換 $()

python -c "import sys;print sys.stdin.readlines()[0].split()[3]"  <<< $(ip -4 -o addr show wlan7)

個人的に、私はこれが私の中で素敵な機能として保存されています ~/.bashrc だから、より少ないタイピングが行われます。

wlan_ip() {    ip -4 -o addr show wlan7 | python -c "import sys;print sys.stdin.readlines()[0].split()[3]" } 

PerlとRubyのバージョンは少し短くなっています:

$ ip -4 -o addr show  wlan7 | perl -lane 'print $F[3]'                         192.168.0.78/24$ ip  -4 -o addr show wlan7 | ruby -n -e 'print $_.split()[3]'                 192.168.0.78/24

Wireshark

ネットワーク分析ツールの使用に精通している場合は、ipアドレスを取得するには、ブラウザのキャッシュをクリアし、特定のインターフェイスでWireshark captureを開 GET 送信されるパケット。 宛先列にはipアドレスが表示されます

上記の良い情報がたくさんあります。 私はそれをそう簡単に保ちます:

# what your computer thinks its ip address isfunction iplocal() {  ip route get 8.8.8.8 | awk '{print $NF; exit}'    # 8.8.8.8 is google dns}# what the outside world thinks your ip address isfunction ipexternal() {  curl --silent http://checkip.amazonaws.com        # or:  http://ipinfo.io/ip}function ipinfo() {  echo "local    IP  =>  $(iplocal)"  echo "external IP  =>  $(ipexternal)"}

サンプル使用法:

> ipinfolocal    IP  =>  192.168.1.139external IP  =>  76.88.85.95

‘ifconfig|grep-G"192.168.*.255"|cut-d’’-f10はあなたにIPを得ることができます、または単にhostname-I|cut-d’’-f1`

@AvatarPartoそれらはパブリックアクセスに直面しているインターフェイスのためのものです、この質問は内部ネットワー…

好奇心から、’/etc/network/interfaces`には何がありますか?

Change directoryコマンドの使用方法は知っていますが、一度そこにファイルを一覧表示する方法がわかりません。

'ls’はディレクトリ内のファイルを一覧表示します。 'ls-l’は詳細なリストを提供します。 特定のディレクトリの内容を一覧表示するには、ls-l/etc/networkを使用します。 ディレクトリに変更し、内容を一覧表示するにはcd/etc/network;ls-lEtc/network/interfacesの内容を読み取るには(これはファイルです)sudo pico/etc/network/interfaces'。 ('picoは軽量のテキストエディタです-読書と基本的な編集に適しており、`vi’よりも威圧的ではありません。)