Mencoba memahami cara yang benar untuk membuat rute statis di CentOS, tolong bantu


8

Saya sudah mencoba memahami apa cara yang benar untuk menambahkan rute statis pada mesin CentOS 6.x. Di beberapa forum mereka mengatakan untuk membuat file bernama route-dev_name(misalnya route-eth0) dengan rute yang relevan dan menempatkannya /etc/sysconfig/network-scripts, di beberapa forum mereka mengatakan file tersebut harus dinamai static-routes, dalam kedua kasus saya tidak dapat menetapkan rute statis. Sepertinya dalam beberapa rilis CentOS hanya berfungsi saat penamaan file route-dev_namedan dalam beberapa rilis hanya berfungsi saat penamaan file static-routes.. Adakah yang bisa membantu saya? Ini adalah isi file rute saya:

192.168.20.0/24 via 192.168.20.253 dev eth0

Terima kasih sebelumnya


Saya menggunakan versi CentOS yang berbeda pada server yang berbeda, tetapi terutama CentOS 6.3-6.5
Itai Ganot

Jawaban:


7

Rute bergantung perangkat gaya RH yang ditentukan menggunakan /etc/sysconfig/network-scripts/route-devicefile telah menyebabkan banyak masalah.

Jadi sysadmin nyata hanya menggunakan /etc/sysconfig/static-routesfile tanpa ketergantungan perangkat:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1

Masalah:

  • Ketika perangkat fisik terikat, Anda harus ingat untuk juga mengambil file rute- perangkat
  • Ketika Anda mengatur ulang adaptor dalam mesin virtual.

Biasanya seseorang harus selalu menggunakan perangkat jembatan , sehingga orang dapat menghindari masalah file rute- perangkat .

Perhatikan juga sintaks dalam /etc/sysconfig/static-routesfile, sniplet dari /etc/init.d/network:

    # Add non interface-specific static-routes.
    if [ -f /etc/sysconfig/static-routes ]; then
       if [ -x /sbin/route ]; then
           grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
               /sbin/route add -$args
           done
       else
           net_log $"Legacy static-route support not available: /sbin/route not found"
       fi
    fi

8

Buat file di / etc / syconfig / network-scripts / route-eth0

tambah tambahkan berikut ini

192.168.20.0/24 via 192.168.20.253 dev eth0

Saya selalu menggunakan pendekatan ini. Saya menemukan ini sebagai pendekatan terbaik.

FYI: Periksa - https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html


1
Oke itulah pendekatan yang saya gunakan sendiri sampai sekarang, tetapi baru-baru ini pada mesin CentOS 6.5 saya menemukan bahwa route-devXfile tersebut diabaikan dan server tidak Naik rute ketika server reboot atau layanan jaringan sedang restart, ide apa pun apa yang bisa menyebabkannya?
Itai Ganot

Tidak yakin .. Apakah antarmuka muncul saat boot / restart? .. Saya tidak memiliki ATM kotak uji CENTOS / RHEL 6.5 .. Saya tidak yakin apakah ada perubahan dalam ifup-route di RHEL 6.5.
vijay rajah

Ya antarmuka beroperasi dengan baik ... hanya rute tidak muncul dan saya berbicara tentang mesin yang baru diinstal atau sekitar 2-3 bulan. Bagaimanapun, saya melihat bahwa saya menggunakan pendekatan yang benar jadi saya hanya akan menerima pertanyaan Anda, terima kasih.
Itai Ganot

4

Ada cara yang lebih mudah untuk menambahkan rute ...

File ini - /etc/init.d/network- diluncurkan ketika PC boot, dan menggunakan file /etc/sysconfig/static-routesuntuk menambahkan rute statis

Anda harus membuatnya karena tidak ada.

Jika Anda membaca file dengan hati-hati, file /etc/init.d/networktersebut membaca file ini di setiap baris untuk menambahkan rute, baris itu harus dimulai dengan "any", dan "route add -" sudah diketahui.

Jadi dalam file yang akan Anda buat >> / etc / sysconfig / static-route, Anda harus menulis:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0
  • di mana 10.0.0.0/24 adalah jaringan yang ingin Anda jangkau (255.255.255.0 adalah mask)
  • di mana gw 192.168.0.1 adalah gateway untuk mencapai (tentu saja router)
  • dimana eth0 adalah antarmuka tempat untuk digunakan.

Ini adalah cara terbaik untuk menambahkan rute statis, 1 file untuk semuanya (bukan file X untuk antarmuka X)


1

Saya selalu menggunakan route-ethXpendekatan file pada CentOS 6.4 dan 6.5 saya:

Buat / edit file /etc/sysconfig/network-scripts/route-ethX(di mana X adalah nomor antarmuka Anda) dan tetapkan rute Anda di file ini:

192.168.20.0/24 via 192.168.20.253 dev eth0

Anda juga dapat mengedit file ini menggunakan format berikut (secara pribadi saya lebih suka sintaks pertama):

GATEWAY0=192.168.20.253
NETMASK0=255.255.255.0
ADDRESS0=192.168.20.0

Kemudian restart jaringan untuk menerapkan perubahan:

service network restart

Bacaan lebih lanjut: https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html


0

Di / etc / sysconfig / network-scripts ada script ifup-route . Itu mencari file dengan nama route-dev_name, eg route-eth0.


0

Dalam kasus saya, file " / etc / sysconfig / network-scripts / route-device " tidak ada.

Saya melanjutkan untuk menambahkan jaringan atau ip yang diperlukan pada file " / etc / sysconfig / static-route " dan untuk membuatnya secara permanen, saya reboot mesin dan ternyata berfungsi seperti yang diharapkan.

itu dilakukan dalam: cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)

Salam Hormat,

Manuel Lazo

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.