Tidak dapat mengatur rute host statis - "SIOCADDRT: Tidak ada proses seperti itu"

11

Di kantor saya, ada router Windows Server 2008, 192.168.16.1, yang merupakan gateway default kami. Ini mengirimkan data melalui koneksi internet utama kami. Ini bekerja dengan sempurna.

192.168.16.1 juga memiliki koneksi internet lain yang saat ini tidak digunakan. Ini terhubung ke router, 192.168.1.254 yang kemudian terhubung ke koneksi internet sekunder kami.

Saya telah mengatur Routing dan Remote Access untuk merutekan 192.168.1. * Jangkauan ke jaringan internal kami, dan saya dapat melakukan ping 192.168.1.254 dari desktop saya yang memiliki alamat IP 192.168.16.22.

Saya memiliki tugas mengunggah dan mengunduh yang sangat intensif untuk kotak linux di kantor yang sama, jadi saya ingin mengatur rute statis sehingga saya tidak mengikat koneksi internet utama kami dan memengaruhi rekan kerja saya. Jadi, rencanaku adalah mengatur kotak ini dengan rute statis.

Dari kotak linux, saya dapat melakukan ping 192.168.1.254, tetapi saya tidak dapat menambahkan rute statis ke server tujuan di pusat data kami:

$ sudo route add -host 123.123.123.123 gw 192.168.1.254 dev eth0
SIOCADDRT: No such process

Dari googling yang ekstensif, pesan kesalahan ini tampaknya menunjukkan bahwa saya tidak dapat mengakses 192.168.1.254 untuk mengatur rute, namun saya dapat melakukan ping. Saya mencoba untuk menambahkan rute statis ke 192.168.1.254, yang berfungsi dengan baik, tetapi ini tidak menyelesaikan masalah (seperti yang diharapkan).

Saya tidak cukup mahir di jaringan untuk mendiagnosis masalah ini lebih jauh karena latar belakang saya adalah pengembangan perangkat lunak, bukan administrasi sistem. Saya akan sangat berterima kasih atas saran yang diberikan.

Terima kasih atas waktu Anda.

Steve Rukuts
sumber

Jawaban:

8

Apakah desktop pada 192.168.16.0/24?

Anda tidak dapat menambahkan rute (ke target apa pun) melalui gateway yang tidak terhubung langsung dengan Anda, karena komputer Anda tidak tahu cara menemukan jalannya ke router tanpa melalui rute default.

3 bulan
sumber
Benar, keputusan perutean harus ditetapkan pada 192.168.16.1.
Mark Wagner
2

Anda bisa mendapatkan kesalahan "SIOCADDRT: Tidak ada proses seperti itu" jika "Anda mencoba mengatur rute untuk jaringan sebelum menetapkan rute host untuk gateway yang menangani lalu lintas untuk jaringan itu."

misalnya untuk lokal -> 172.19.0.1 -> 172.19.0.xx

[root@local]# route add -net 172.19.0.0 gw 172.19.0.1 netmask 255.255.255.0 dev eth0
SIOCADDRT: No such process

JAWABAN: Pertama buat rute host, lalu buat rute net.

mis. untuk jaringan yang dimaksud: lokal -> 192.168.1.254 -> 123.123.123.123

sudo route add -host 192.168.1.254 dev eth0

sudo route add -net 123.123.123.123 netmask 255.255.255.255 gw 192.168.1.254 dev eth0

Rute statis masih akan memuat jaringan , saya kira itu tergantung;). Lalu lintas unggah / unduh harus melintasi jaringan. Jadi itu akan mempengaruhi pengguna jaringan lainnya. Anda dapat membatasi bandwidth lalu lintas atau memindahkan lalu lintas ke jam yang lebih tenang jika Anda ingin mengurangi pengaruh pada pengguna jaringan lain. misalnya rsync memiliki opsi pembatasan bandwidth yang baik.

Saya memiliki masalah serupa dengan perutean dan SIOCADDRT. local -> dockerserver -> dockercontainer. Menambahkan rute host lalu rute net menjadikan routing berfungsi dalam satu arah.

Ini membantu saya https://support.symantec.com/en_US/article.TECH142841.html

Contoh rute penuh, rute bekerja dua arah:

dockerserver=172.19.0.1
dockerservernet=172.19.0.0
dockercontainer=172.19.0.25
local=192.168.111.23
localnet=192.168.111.0

### 0. create host route for gw and net route local->docker
[root@local]# route add -host $dockerservernet dev eth0
[root@local]# route add -net $dockerservernet gw $dockerserver netmask 255.255.255.0 dev eth0

### 1. route on dockerserver to local
[root@dockerserver ~]# route add -net $localnet netmask 255.255.255.0 dev eno1
[root@dockerserver ~]# ping $local

### 2. route FROM dockercontainer to local (via gateway dockerserver)
[root@dockercontainer /]# route add -net $localnet netmask 255.255.255.0 gw gateway dev eth1
[root@dockercontainer /]# ping $local
gaoithe
sumber
0

Mengenai bagian dari pertanyaan tentang pengaturan rute persisten dalam instance AWS EC2 menjalankan Ubuntu, tempat yang tepat untuk menempatkan rute statis untuk bertahan melalui AWS reboot, stop, dan start adalah /etc/rc.local.

Di dalam file itu, Anda perlu menempatkan rute Anda di baris di atas baris terakhir. Baris Anda akan terlihat seperti ini:

route add -net XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX gw XXX.XXX.XXX.XXX

Menjalankan sudoperintah akan hilang saat reboot.

Duke Hall
sumber