سؤال كيف يمكنني العثور على عنوان IP الداخلي الخاص بي؟


لدي خادم أوبونتو 12.04 مثبت ، لذلك ليس لدي أي واجهة المستخدم الرسومية. عندما أفعل الأمر 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 interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

إذا كان هناك شخص ما يمكنه تحرير هذا بالنسبة لي ، يجب أن تكون محتويات etc / network / interfaces على خطوط منفصلة.

كان إخراج المضيف askubuntu.com:

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

أعددت owncloud و webmin منذ بضعة أشهر ، وكان يستخدمها لمدة شهر دون أي مشاكل. أعتقد أن السلطة انفجرت يوم واحد منذ شهرين وأنا لم أعد تشغيل الخادم حتى يوم أمس. أنا لم أفعل أي شيء من شأنه أن يؤثر على إعداد الإنترنت لذلك لست متأكدا لماذا لا يعمل بعد الآن. بقدر ما يذهب طوبولوجيا الشبكة ، لدي بطاقة شبكة pci-e للكمبيوتر. ينتقل خط الإيثرنت من بطاقة الشبكة إلى مفتاح التحويل ، ثم إلى المودم / الموجه من هناك.


159
2018-03-07 13:20


الأصل


AvatarParto تلك هي للواجهات التي تواجه وصول الجمهور ، وهذا السؤال هو حول الشبكات الداخلية ... - Bruno Pereira
بدافع الفضول ، ماذا يفعل /etc/network/interfaces لدينا في ذلك؟ - Powerlord
أنا أعرف كيفية استخدام الأمر "تغيير الدليل" ، ولكن لا أعرف كيفية سرد الملفات مرة واحدة هناك ، كيف أفعل هذا؟ - Cam Jones
ls سوف قائمة الملفات في الدليل. ls -l سوف يعطي قائمة مفصلة. لسرد محتويات دليل معين ، ls -l /etc/network. لتغيير في دليل ومحتويات القائمة cd /etc/network ;ls -l. لقراءة محتويات etc/network/interfaces (هذا ملف) sudo pico /etc/network/interfaces. (pico هو محرر نصوص خفيف الوزن - جيد للقراءة والتحرير الأساسي ، وأقل تخويفًا من vi.) - douggro


الأجوبة:


ستخبرك هذه الأوامر بكل معلومات الشبكة

ifconfig -a

أو

ip addr show

إذا كنت تقول أنه يمنحك 127.0.0.1 فقط ، فهناك خياران:

  1. بطاقة الشبكة غير متصلة أو غير معترف بها من قبل النظام

  2. لا يعمل خادم DHCP الخاص بالشبكة أو لا يكون متصلًا


159
2018-03-07 13:32



عندما أقوم بتسجيل الدخول يخبرني أن هناك بعض التحديثات أو التحديثات ، لذلك أفترض أنه يجب أن نتحدث إلى موقع أوبونتو الرسمي لمعرفة ما إذا كان لديه تحديثات ، لذا أعتقد أن الإنترنت تعمل. - Cam Jones
Skateguy حاول فتح askubuntu.com ويرجى طباعة جميع ifconfig -a - kamil
ليس لدي واجهة المستخدم الرسومية ، أنا على وشك كتابتها بالرغم من ذلك. - Cam Jones
كيف يمكنني الإجابة عن الأسئلة التي يطرحها خياركان؟ - Cam Jones
Skateguy أولاً يبدو أنك لا تملك خادم dhcp وستضطر إلى ضبط عنوان IP الخاص بك يدويًا. هل يمكن أن تخبرنا طبولوجيا الشبكة الخاصة بك ، وكيف أنت متصل بالإنترنت. ويرجى نشر إخراج الأمر التالي في جهازك: host askubuntu.com - kamil


هذا ما أوصي به حاليًا:

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

تكمن ميزة هذا الأمر في أنك لا تحتاج إلى معرفة الواجهة التي تستخدمها (eth0؟ eth1 أو ربما wlan0؟) ، ولا يلزم تصفية عناوين المضيف المحلي أو عناوين Docker أو أنفاق VPN إلخ. وسوف تحصل دائما عنوان IP المستخدم حاليًا لاتصالات الإنترنت في تلك اللحظة بالذات (مهمة عندما تكون على سبيل المثال متصلاً بكل من ethernet و wifi أو عبر VPN وما إلى ذلك).

سيختبر هذا ليس فقط أن لديك IP صحيح تم تكوينه على بعض الواجهة (مثل تحليل ناتج ifconfig) ولكن أيضًا أن لديك جدول التوجيه مكونًا لاستخدامه بشكل صحيح.

لقد وجدت هذه الفكرة في هذا الجواب بواسطة كولين أندرسون.

أنا استخدمها في internalip النصي في جمع مخطوطاتي على جيثب، والتي يمكنك تثبيتها مع:

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

واستخدامها على النحو التالي:

internalip

أو:

internalip TARGET

وستحصل على عنوان IP الخاص بك الذي سيتم استخدامه للاتصال مع عنوان IP TARGET. الهدف الافتراضي هو 8.8.8.8 وهو محلل DNS العام لـ Google والتقصير الجيد للإنترنت.

ولكن إذا قمت بتشغيله باستخدام عنوان IP مختلف:

internalip 127.2.3.4

ثم سوف تحصل على:

127.0.0.1

لأن هذا هو عنوان IP الخاص بك الذي سيتم استخدامه للاتصال مع 127.2.3.4 على واجهة الاسترجاع. من المفيد عندما يكون هدفك على شبكة محلية أو شبكة ظاهرية خاصة أو أي شبكة خاصة أخرى ، وفي هذه الحالة يمكن استخدام بعض عناوين IP الأخرى للاتصالات من عنوان IP الافتراضي للوصول إلى الإنترنت.

IP الخارجي

للتحقق من الخاص بك خارجي عنوان IP (الذي تشاهده الخوادم على الإنترنت عند الاتصال بها - والذي قد يكون مختلفًا عن عنوان IP الداخلي الموصوف هنا) انظر هذا الجواب.


166
2018-04-03 02:49



هذه إجابة رائعة ، شكرًا! أنقذني الكثير من الصداع! :د - user65165
هذه خدعة مفيدة ، لكن OP كان يسأل عن IP داخلي ، لذلك ليس من الآمن عدم افتراض أنه قابل للتوجيه إلى 8.8.8.8. - mc0e
@ mc0e نقطة جيدة. لهذا نصيتي يأخذ حجة اختيارية لبعض IP الأخرى - 8.8.8.8 هو مجرد الافتراضي. في إجابتي اعتدت 127.2.3.4 كمثال. يمكنك استخدام بعض IP على الإنترانت أو على VPN كذلك. النقطة هي أنك لا تملك عادة واحد عنوان IP الداخلي ولكن هناك عدة عناوين مختلفة تستخدم لأهداف مختلفة. وبهذه الطريقة ، يمكنك العثور على تلك المستخدمة بالفعل للاتصالات إلى هدف معين. - rsp
فقط لكي تعرف ، وهذا يعطي IP الخارجي على ماك. - OZZIE


hostname -I

سيعطيك هذا عنوان IP فقط دون أي معلومات إضافية.


134
2017-08-25 06:29



هذا ممتاز. الكثير من الإجابات المعقدة (ولكن ليست سيئة) .. هذا الشخص بسيط للغاية. - user1003916
اجابة ممتازة..:) - john400
وفقا لصفحة رجل: `-I ، - جميع عناوين IP عرض جميع عناوين الشبكة من المضيف. يستقبل هذا الخيار جميع العناوين المكونة على جميع واجهات الشبكة. تم حذف واجهة الاستدعاءات وعناوين الوصلة المحلية IPv6. ولهذا سيعطيك عنوان IP على الشبكة التي تتصل بها ، ولكن أيضًا IP لجهازك إذا كنت تستخدمه كخادم إيثرنت أو lxd. في حالتي يعطي عنوانين لأن لدي lxd: 192.168.0.78 و 10.0.3.1 - Sergiy Kolodyazhnyy
نعم. في حالتي أكثر سوءًا 10.0.2.15 172.18.0.1 172.17.0.1 172.20.0.1 172.21.0.1 172.22.0.1 172.19.0.1 لأنني أقوم بتشغيل بعض حاويات Docker؛) - Alex
upvote لأن الحلول الأخرى لا تعمل على سبيل المثال. على الخام ubuntu بوندر صورة - noonex


أعتقد أنه من الجدير بالذكر أن تشغيل ifconfig مع خيار -a سيعرض جميع الواجهات أو لا تحتوي الواجهة على عنوان IP.

تشغيل ifconfig وحده ، سيتم عرض الواجهات فقط مع عناوين IP المعينة.

هذه خدعة لطيفة يمكنك استخدامها لعرض عناوين IP فقط باستخدام Perl.

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

يتم التعرف على بطاقة الشبكة الخاصة بك من قبل النظام ، وهذا سبب ظهورها eth0 و eth1

هنا طريقة سريعة لتخصيص IP لواجهتك ، استخدم IP / Subnet صالح وفقًا لذلك.

 ifconfig eth0 192.168.1.200/24 up 

ثم نحتاج إلى إضافة مسار افتراضي

route add default gw 192.168.1.1

الأفضل،


18
2018-03-07 21:17



سأحاول هذه الطريقة ولكن سيكون عليك تقسيمها أكثر قليلاً لكي أفهمها ، كما هو الحال في كيفية إيجاد أو معرفة عنوان IP صالح ، وشبكة فرعية ومسار افتراضي صحيح. - Cam Jones
هذا هو تعيين IP ثابت لواجهة الشبكة الخاصة بك ، وهذا يعني إذا كنت خلف جهاز توجيه مع شبكة فرعية من 192.168.1.0/24 ثم يمكنك اختبار IP السابقين. 192.168.1.200 وإذا لم تحصل على أي رد ، ثم انتقل إلى الرأس واستخدم ifconfig interface_name IP_ADDRESS / MASK up يجب إضافة gw الافتراضي الخاص بك بعد تعيين IP. - user1007727


سيعرض هذا الأمر جميع عناوين IP لجهاز واحد:

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

ستقوم بطباعة واحد أو سطرين من المخرجات. الأول هو عنوان inet / IPv4 والآخر هو inet6 / IPv6 إذا تم تكوين النظام الخاص بك لدعم هذا.


8
2017-10-24 14:14





في حال ، فإن ifconfig لم يعرض الأمر عنوان IP ، فهناك طريقة بسيطة وسهلة للعثور على عنوان IP الخاص بجهاز أوبونتو من خلال واجهة المستخدم الرسومية. اتبع الخطوات التالية:

انقر على رمز الشبكة في منطقة الإعلام وانقر فوق معلومات الاتصال. Network icon options

يؤدي ذلك إلى ظهور نافذة تحتوي على بعض المعلومات ، بما في ذلك عنوان IP. IP address information


5
2017-09-24 13:09





هناك الكثير من الإجابات الجيدة هنا للاختيار من بينها ، لكنني اعتقدت أنني سأشير إلى ذلك facter وهو عادة ، ولكن ليس بالضرورة يستخدم مع الدمى لجمع الحقائق المختلفة حول النظام. الميزة الرئيسية من عامل هو أنه يعطي إخراج نظيف جميل مما يوفر لك كل التلاعب بها grep، sed، awk، cut، perl، وما إلى ذلك. لن يخبرك أي واجهة كنت مهتمًا بها ، ولكن إذا كنت تعرف ذلك ، فإن ما يلي يعطيك عنوان IP دون الحاجة إلى تنظيفه:

facter ipaddress_eth0 

1
2017-11-28 15:11





الأمر ip

فيما يلي الاختلاف ip addr الطريقة.

ip لديها -o الخيار الذي يسمح بوضع جميع المعلومات على سطر واحد - وهذا مفيد في التحليل باستخدام أدوات مثل awk أو perl. بالاشتراك مع -4 الخيار ، سوف نرى عناوين IPv4 فقط. وبالتالي ، سيكون الإخراج شيء من هذا القبيل (لاحظ - استبدل wlan7 بالواجهة التي تريد التحقق منها):

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

كما ترى ، فإن عنوان IP هو العمود / الكلمة الرابعة في الإخراج. والباقي هو عملية تحليل بسيطة عبر الأداة التي تختارها. هنا ، أنا أستخدم 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]" 
} 

إصدار بيرل وروبي هما أقصر قليلا:

$ 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

إيثار ريال

إذا كنت معتادًا على استخدام أدوات تحليل الشبكة ، فمن المحتمل أنك تعرف أنه للحصول على عنوان IP الخاص بك ، كل ما عليك فعله هو مسح ذاكرة التخزين المؤقت للمتصفح ، وبدء التقاط Wireshark على الواجهة المحددة ، والبحث عن http GET الحزم التي تنتقل. سيعرض عمود الوجهة عنوان IP الخاص بك


1
2017-09-04 18:32