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.