Bagaimana saya bisa mengubah gateway default?

19

Saat ini saya sedang menjalankan FreeBSD 9.1 dan gateway default sudah dikonfigurasi di rc.conf.

rc.conf:

defaultrouter = "10.0.0.1"

Tapi sekarang saya ingin mengubah gateway default tanpa me-reboot sistem, apakah ini mungkin?

WWW
sumber

Jawaban:

21
route del default
route add default 1.2.3.4

Di mana 1.2.3.4gateway baru. Anda bahkan dapat menggabungkannya ke baris yang sama dengan a;

Sunting: Ini adalah FreeBSD, bukan Linux. Perintahnya berbeda. Harap jangan mengedit Jawaban ini jika Anda belum membaca Pertanyaan dengan cukup hati-hati untuk menentukan sistem operasi yang digunakan.

Chris S
sumber
4
Catatan: lakukan ini di konsol, jangan melebihi ssh. Jika Anda harus melakukan ini melalui ssh (atau metode jaringan lainnya), ;&&
keluarkan
4
Atau, gunakan metode generik aman: 1) Masuk ke dalam shell, shutdown / reboot dalam 15 menit kecuali dibatalkan 2) Lakukan hal-hal yang tidak aman. 3) Batalkan shutdown / reboot.
Hennes
2
Di Linux perintah ip route del defaultdan ip route add default via 1.2.3.4kerjanya. Jadi perintah ini masih relevan untuk pengguna Linux juga karena memiliki sedikit kemiripan.
Paul Stelian
16

Anda dapat menambahkan rute default baru dan menghapus yang lama menggunakan perintah ipatau route. Perintah di bawah ini akan menggantikan gateway dengan 192.0.2.1. Kedua pasangan perintah melakukan hal yang sama. FreeBSD dan OS lain harus memiliki satu atau kedua program, mungkin dengan format yang sedikit berbeda. (FreeBSD memiliki routeperintah dan mengecualikan gwkata kunci yang digunakan dalam implementasi lain.) Perintah man ipdan / atau man routeharus memberi Anda dokumentasi tentang implementasi spesifik Anda.

route add default 192.0.2.1
route del default 10.0.0.1

ip route add default via 192.0.2.1
ip route del default via 10.0.0.1 

Ada beberapa implementasi dari perintah ini, jadi hal di atas mungkin tidak cocok dengan implementasi Anda. Implementasi Anda harus memiliki manhalaman dengan contoh-contoh untuk kasus penggunaan umum seperti menambah dan menghapus gateway default. Coba man routedan man iplihat bagaimana implementasi Anda bekerja.

Ubah 192.0.2.1 ke gateway default yang Anda inginkan. Gateway default harus berada di salah satu jaringan di mana Anda memiliki koneksi langsung. Anda dapat mengubah alamat IP Anda dengan cara yang sama. ipadalah alat yang lebih baru yang akan melakukan hampir semua yang perlu Anda lakukan untuk melihat dan mengelola alamat IP dan perutean pada jaringan IPv4 dan IPv6. ifconfigadalah alat yang lebih lama untuk mengonfigurasi alamat IP pada jaringan IPv4.

Untuk membuat perubahan permanen, perbarui file konfigurasi jaringan Anda di /etc. File bervariasi tergantung pada distribusi yang Anda gunakan.

Setidaknya satu dari perintah ini harus tersedia pada O / S turunan Unix. Versi yang berbeda mungkin bekerja sedikit berbeda. Periksa manhalaman untuk detail tentang O / S Anda.

BillThor
sumber
4
-1 Maaf, tetapi ini adalah perintah Linux dan tidak berfungsi pada FreeBSD .
Chris S
2
@ Chris diperbarui untuk referensi perubahan FreeBSD. routememiliki beberapa implementasi dengan perubahan sintaks kecil.
BillThor
1
pilih perintah "ip route".
Sérgio
9

Inilah satu kalimat:

ip route replace default via 1.2.3.4

Di mana 1.2.3.4IP gateway baru

kredit

artfulrobot
sumber
2
-1 Maaf, tetapi ini adalah perintah Linux dan tidak berfungsi pada FreeBSD .
Chris S
3

ya ubah saja rute dan restart jaringan Anda.

/etc/rc.d/netif restart
johnshen64
sumber
2
Itu bekerja, meskipun itu me-restart banyak ... dan mungkin merusak aplikasi yang terikat pada antarmuka.
Chris S
1

Kamu bisa mencoba:

route add default gw 192.168.1.254 eth0
Chip Estrada
sumber
-1 Maaf, tetapi ini adalah perintah Linux dan tidak berfungsi pada FreeBSD .
Chris S
Route addadalah bagian dari instalasi FreeBSD 8.4 saya. Tapi ya, banyak orang di sini yang menjawab untuk OS yang salah.
Hennes 8-15
1
@ Henry route addbagian ini berfungsi dengan baik. GNU / Linux menambahkan gwbagian, yang tidak berfungsi pada * nix lainnya. Tanpa gwbekerja pada semua BSD, Solaris, OSX, HPUX, AIX, dll.
Chris S
1

Ini sangat mudah, Anda hanya perlu mengetikkan perintah selanjutnya:

$ route del 0/0
$ route add 0/0 192.168.0.1

Anda harus mengganti '192.168.0.1' dengan IP pilihan Anda.

Dan untuk memeriksa perubahan Anda dapat menggunakan 'netstat':

$ netstat -r

Perintah ini menampilkan tabel perutean sistem.

ifm
sumber
Apa itu "0/0"?
WWW
1
@WWW '0/0' adalah singkatan dari blok jaringan '0.0.0.0/0', yang sama dengan 'default', tapi saya lebih suka '0/0' (saya kira saya lebih dari sekolah tua ).
ifm
0

Selalu gunakan dulu netstat -nruntuk memeriksa gateway apa yang Anda miliki dan apa detailnya ... yang Anda lihat 0.0.0.0. ketika ini merupakan default dan Anda harus terlebih dahulu berpikir bahwa mengapa saya mengubah gateway ini daripada menggunakan perintah ini:

route add default gw your ip eth0
pengguna122562
sumber
-1 Maaf, tetapi ini adalah perintah Linux dan tidak berfungsi pada FreeBSD .
Chris S