Pertanyaan Bagaimana cara saya menemukan alamat ip internal saya?


Saya memiliki Ubuntu server 12.04 terinstal, jadi saya tidak punya GUI. Ketika saya melakukan perintah ifconfig, saya tidak dapat menemukan alamat ip internl saya. Ia mengatakan inet addr: 127.0.0.1.

Berikut ini adalah hasil dari 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)

di sini adalah isi dari etc / network / interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Jika seseorang dapat mengedit ini untuk saya, isi dari etc / network / interfaces harus berada pada jalur yang terpisah.

Output dari host askubuntu.com adalah:

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

Saya menyiapkan owncloud dan webmin beberapa bulan yang lalu dan menggunakannya selama sebulan tanpa masalah. Saya pikir listrik padam satu hari 2 bulan yang lalu dan saya tidak pernah menghidupkan server kembali sampai kemarin. Saya belum melakukan apa pun yang akan mempengaruhi pengaturan internet Jadi saya tidak yakin mengapa itu tidak berfungsi lagi. Sejauh topologi jaringan saya berjalan, saya memiliki kartu jaringan pci-e untuk pc. Garis ethernet pergi dari kartu jaringan ke switch, dan kemudian ke modem / router dari sana.


159
2018-03-07 13:20


asal


@AvatarParto Yaitu untuk antarmuka yang menghadap akses publik, pertanyaan ini adalah tentang jaringan internal ... - Bruno Pereira
Karena penasaran, apa yang terjadi /etc/network/interfaces ada di dalamnya? - Powerlord
Saya tahu cara menggunakan perintah direktori perubahan, tetapi saya tidak tahu cara membuat daftar file di sana, bagaimana saya melakukan ini? - Cam Jones
ls akan daftar file dalam direktori. ls -l akan memberikan daftar terperinci. Untuk daftar isi direktori tertentu, ls -l /etc/network. Untuk mengubah isi direktori dan daftar cd /etc/network ;ls -l. Untuk membaca isi dari etc/network/interfaces (ini adalah file) sudo pico /etc/network/interfaces. (pico adalah editor teks ringan - baik untuk membaca & penyuntingan dasar, dan tidak terlalu mengintimidasi vi.) - douggro


Jawaban:


Perintah-perintah ini akan memberi tahu Anda semua info jaringan

ifconfig -a

atau

ip addr show

Jika seperti yang Anda katakan itu hanya memberi Anda 127.0.0.1 maka ada dua opsi:

  1. Kartu jaringan Anda tidak terpasang atau tidak dikenali oleh sistem

  2. Server DHCP jaringan Anda tidak runnning atau tidak terhubung


159
2018-03-07 13:32



ketika saya login, saya diberitahu bahwa ada beberapa upgrade atau pembaruan, jadi saya menganggap itu harus berbicara dengan situs web resmi ubuntu untuk mengetahui itu memiliki pembaruan, Jadi saya pikir internet saya berfungsi. - Cam Jones
@Skateguy coba buka askubuntu.com dan cetak semua ifconfig -a - kamil
Saya tidak punya GUI, saya akan mengetikkannya. - Cam Jones
Bagaimana saya bisa menjawab pertanyaan yang diajukan oleh dua opsi Anda? - Cam Jones
@Skateguy Pertama sepertinya Anda tidak memiliki server dhcp dan Anda harus mengatur ip Anda secara manual. dapatkah Anda memberi tahu kami topologi jaringan Anda, bagaimana Anda terhubung ke internet. dan tolong posting output dari perintah berikut di terminal Anda: host askubuntu.com - kamil


Inilah yang saat ini saya sarankan:

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

Keuntungan dari perintah itu adalah Anda tidak perlu tahu antarmuka mana yang Anda gunakan (eth0? Eth1? Atau mungkin wlan0?), Anda tidak perlu menyaring alamat localhost, atau alamat Docker, atau terowongan VPN, dll. dan Anda akan selalu mendapatkannya alamat IP yang saat ini digunakan untuk koneksi Internet pada saat itu (penting ketika misalnya Anda terhubung dengan ethernet dan wifi atau melalui VPN dll.).

Ini akan menguji tidak hanya bahwa Anda memiliki IP yang benar dikonfigurasi pada beberapa antarmuka (seperti dengan parsing output ifconfig) tetapi juga bahwa Anda memiliki tabel routing yang dikonfigurasi untuk menggunakannya dengan benar.

Saya menemukan ide itu jawaban ini oleh Collin Anderson.

Saya menggunakannya di internalip skrip masuk koleksi skrip saya di GitHub, yang dapat Anda instal dengan:

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

dan gunakan sebagai:

internalip

atau:

internalip TARGET

dan Anda akan mendapatkan alamat IP Anda yang akan digunakan untuk terhubung dengan alamat IP TARGET. Target default adalah 8.8.8.8 yang merupakan Penyelesai DNS publik Google dan default yang bagus untuk internet.

Tetapi jika Anda menjalankannya dengan IP yang berbeda:

internalip 127.2.3.4

Maka Anda akan mendapatkan:

127.0.0.1

karena itu adalah alamat IP Anda yang akan digunakan untuk terhubung dengan 127.2.3.4 pada antarmuka loopback. Ini berguna ketika target Anda berada di LAN, VPN atau jaringan khusus lainnya, dalam hal ini beberapa IP lain dapat digunakan untuk koneksi daripada IP default untuk menjangkau Internet.

IP eksternal

Untuk memeriksa Anda luar Alamat IP (yang dilihat oleh server di Internet saat Anda terhubung dengan mereka - yang mungkin berbeda dari alamat IP internal yang dijelaskan di sini) lihat jawaban ini.


166
2018-04-03 02:49



ini adalah jawaban yang luar biasa, terima kasih! menyelamatkan saya begitu banyak sakit kepala! : D - user65165
Ini adalah trik yang berguna, tetapi OP menanyakan tentang IP internal, jadi jangan tidak aman untuk mengasumsikan bahwa itu dapat dirutekan ke 8.8.8.8. - mc0e
@ mc0e Poin bagus. S mengapa naskah saya mengambil argumen opsional untuk beberapa IP lainnya - 8.8.8.8 hanyalah default. Dalam jawaban saya, saya menggunakan 127.2.3.4 sebagai contoh. Anda dapat menggunakan beberapa IP di intranet Anda atau di VPN juga. Intinya adalah Anda biasanya tidak memilikinya satu alamat IP internal tetapi beberapa alamat berbeda digunakan untuk target yang berbeda. Dengan cara ini Anda dapat menemukan salah satu yang benar-benar digunakan untuk koneksi ke target yang diberikan. - rsp
Asal tahu saja, ini memberi IP eksternal pada Mac. - OZZIE


hostname -I

Ini akan memberi Anda hanya alamat ip tanpa informasi tambahan.


134
2017-08-25 06:29



Itu sempurna. Begitu banyak jawaban yang terlalu rumit (tapi tidak buruk) .. yang satu ini sangat sederhana. - user1003916
Jawaban sempurna .. :) - john400
Menurut halaman manual: `-I, --all-ip-addresses Menampilkan semua alamat jaringan host. Opsi ini mencantumkan semua alamat yang dikonfigurasi pada semua antarmuka jaringan. Antarmuka loopback dan alamat link-local IPv6 dihilangkan.` Jadi ini akan memberi Anda alamat ip di jaringan yang terhubung, tetapi juga IP dari mesin Anda jika Anda menggunakannya sebagai server ethernet atau lxd. Dalam kasus saya ini memberikan dua alamat karena saya memiliki lxd: 192.168.0.78 dan 10.0.3.1 - Sergiy Kolodyazhnyy
Ya. Dalam kasus saya lebih buruk 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 karena saya menjalankan beberapa kontainer Docker;) - Alex
Upvote karena solusi lain tidak berfungsi, mis. pada raw docker ubuntu image - noonex


Saya pikir itu perlu disebutkan bahwa menjalankan ifconfig bersama dengan opsi -a akan menampilkan semua antarmuka apakah antarmuka memiliki IP atau bukan.

menjalankan ifconfig sendiri, hanya akan menampilkan antarmuka dengan IP yang ditetapkan.

Berikut ini adalah trik bagus yang dapat Anda gunakan untuk menampilkan hanya IP menggunakan Perl.

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

Kartu jaringan Anda dikenali oleh sistem, itulah mengapa ia menampilkan eth0 dan eth1

di sini adalah cara cepat untuk menetapkan IP ke antarmuka Anda, gunakan IP / Subnet yang valid.

 ifconfig eth0 192.168.1.200/24 up 

maka kita perlu menambahkan rute default

route add default gw 192.168.1.1

Terbaik,


18
2018-03-07 21:17



Saya akan mencoba metode ini tetapi Anda harus memecahnya sedikit lebih bagi saya untuk memahaminya, seperti bagaimana menemukan atau mengetahui IP yang valid, subnet dan rute default yang valid. - Cam Jones
ini adalah tugas IP statis untuk antarmuka jaringan Anda, yang berarti jika Anda berada di belakang router dengan subnet 192.168.1.0/24 maka Anda dapat melakukan ping ke ip ex. 192.168.1.200 dan jika Anda tidak mendapatkan respons, kemudian pergi dan gunakan ifconfig interface_name IP_ADDRESS / MASK up Standar Anda perlu ditambahkan setelah menetapkan IP. - user1007727


Perintah ini akan menunjukkan semua alamat IP untuk satu perangkat:

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

Ini akan mencetak satu atau dua baris output. Yang pertama adalah alamat inet / IPv4 dan yang lainnya adalah inet6 / IPv6 jika sistem Anda dikonfigurasi untuk mendukung ini.


8
2017-10-24 14:14





Dalam kasus, itu ifconfig perintah tidak menampilkan alamat IP, ada cara yang sangat sederhana dan mudah untuk mengetahui alamat IP dari mesin Ubuntu melalui GUI. Ikuti langkah-langkah di bawah ini:

Klik ikon jaringan di area notifikasi dan klik Informasi Koneksi. Network icon options

Ini menampilkan jendela yang memiliki beberapa informasi, termasuk alamat IP. IP address information


5
2017-09-24 13:09





Ada banyak jawaban yang bagus di sini untuk dipilih, tetapi saya pikir saya akan tunjukkan facter yang biasanya, tetapi tidak harus digunakan dengan boneka untuk mengumpulkan berbagai fakta tentang sistem. Keuntungan utama facter adalah memberikan output bersih yang bagus yang menyimpan semua manipulasi dengan Anda grep, sed, awk, cut, perl, dll. Ini tidak akan memberi tahu Anda antarmuka mana yang Anda minati, tetapi jika Anda mengetahuinya, maka berikut ini memberi Anda IP tanpa masalah lain untuk dibersihkan:

facter ipaddress_eth0 

1
2017-11-28 15:11





perintah ip

Inilah variasi ip addr cara.

ip punya -o opsi yang memungkinkan menempatkan semua informasi pada baris tunggal - ini berguna untuk menguraikan dengan alat seperti awk atau perl. Dalam kombinasi dengan -4 pilihan, kami hanya akan melihat alamat IPv4. Dengan demikian, output akan menjadi sesuatu seperti ini (perhatikan - ganti wlan7 dengan antarmuka yang ingin Anda periksa):

$ 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

Seperti yang Anda lihat, alamat IP adalah kolom / kata ke-4 dalam output. Sisanya, adalah latihan parsing sederhana melalui alat pilihan Anda. Di sini, saya menggunakan python:

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

Hal yang sama, hanya dengan string di sini <<< dan substitusi perintah $()

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

Secara pribadi, saya memiliki ini disimpan sebagai fungsi yang bagus di ~/.bashrc jadi lebih sedikit pengetikan dilakukan.

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

Versi Perl dan Ruby sedikit lebih pendek:

$ 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

Jika Anda terbiasa menggunakan alat analisis jaringan, Anda mungkin tahu bahwa untuk mendapatkan alamat ip Anda, yang perlu Anda lakukan adalah menghapus cache browser, mulai menangkap Wireshark pada antarmuka tertentu, dan mencari http GET paket sedang dikirim. Kolom tujuan akan menampilkan alamat ip Anda


1
2017-09-04 18:32