GNU/Linux >> Belajar Linux >  >> Linux

rute ip menunjukkan bidang src

Solusi 1:

Saat menambahkan rute ke host multihomed, Anda mungkin ingin memiliki kontrol atas alamat IP sumber yang dikirim oleh host Anda saat memulai komunikasi menggunakan rute ini. Inilah yang src adalah untuk.

Contoh singkat:Anda memiliki host dengan dua antarmuka dan alamat IP 192.168.1.123/24 dan 10.45.22.12/24. Anda menambahkan rute ke 78.22.45.0/24 melalui 10.45.22.1 dan ingin memastikan Anda tidak mengirim ke 78.22.45.0/24 menggunakan alamat 192.168.1.123 (mungkin karena jaringan 78.22.45.0/24 tidak memiliki rute kembali ke 192.168.1.0/24 atau karena Anda tidak ingin lalu lintas Anda mengambil rute ini karena satu dan lain hal):

ip route add 78.22.45.0/24 via 10.45.22.1 src 10.45.22.12

Perhatikan bahwa src yang Anda berikan hanya akan memengaruhi lalu lintas yang berasal dari host Anda sendiri. Jika sebuah paket asing sedang dirutekan, itu jelas sudah memiliki alamat IP sumber sehingga akan diteruskan tanpa diubah (kecuali jika Anda menggunakan NAT tentu saja, tetapi ini adalah masalah yang sama sekali berbeda). Selain itu, setelan ini mungkin diganti oleh proses yang secara khusus memilih untuk mengikat ke alamat tertentu daripada menggunakan default saat memulai koneksi (agak jarang).

Solusi 2:

src atribut adalah petunjuk yang digunakan oleh algoritme pemilihan alamat . Ini penting ketika sebuah host memiliki banyak alamat IP, yang biasanya, tetapi tidak selalu, ketika memiliki banyak antarmuka. Meskipun ada aturan lain yang memengaruhi pemilihan alamat, dan aplikasi jaringan juga dapat menggantikan algoritme pemilihan dengan menggunakan pemanggilan sistem seperti bind() , src atribut adalah cara menggunakan pencarian tabel perutean untuk menjawab pertanyaan, "Jika saya ingin memulai koneksi ke host X, alamat mana yang harus saya gunakan?"

Berikut adalah contoh untuk mengilustrasikan penggunaan dan efek dari src atribut. Untuk menegaskan bahwa ini terkait dengan alamat dan rute, tidak hanya dengan antarmuka, host contoh ini hanya memiliki satu antarmuka jaringan tetapi dua alamat. Selain itu, kedua alamat berada di subnet yang sama untuk menekankan fakta bahwa tidak ada cara lain yang jelas untuk memilih mana yang akan digunakan.

$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 10.1.0.2/24 brd 10.1.0.255 scope global eth0
    inet 10.1.0.16/24 scope global secondary eth0
$ ip route list dev eth0
10.1.0.32/27  scope link  src 10.1.0.16
10.1.0.0/24  proto kernel  scope link  src 10.1.0.2

Host ini dapat berkomunikasi dengan salah satu dari 252 alamat lainnya pada subnet /24 ini dari salah satu alamat, tetapi secara default itu akan menggunakan 10.1.0.16 saat memulai koneksi dengan 10.1.0.32 hingga 10.1.0.63, dan menggunakan 10.1.0.2 untuk sisanya.

Jika tuan rumah merespons, bukan memulai, maka ia akan merespons dari alamat tujuan permintaan. Misalnya, jika host lain di 10.1.0.32 terhubung ke host ini di 10.1.0.2, respons akan datang dari 10.1.0.2 meskipun tidak cocok dengan src atribut rute kembali.


Linux
  1. Gnome 3 Ctrl+alt+d (tampilkan Desktop)?

  2. Hapus Nilai Duplikat Dalam Bidang A?

  3. Pemisah bidang default untuk awk

  1. Keriting hanya menampilkan Tipe-Konten

  2. VLC - cara menampilkan FPS

  3. Bagaimana mengurutkan keluaran ini 1,10,11..2

  1. firefox:warna bidang masukan

  2. Memodifikasi entri rute yang ada di linux

  3. Linux temukan perintah - tunjukkan kemajuan