apakah gateway harus berada di subnet?

14

Saya ingin membuka antarmuka seperti ini di / etc / network / interfaces (ini menggunakan debian), dengan gateway di luar subnet:

iface eth0 inet static
address 10.100.10.99
netmask 255.255.255.0
gateway 10.100.0.1

tetapi "ifup --verbose eth0" hanya memberi saya pesan kesalahan ini:

ifconfig eth0 10.100.10.99 netmask 255.255.255.0
 route add default gw 10.100.0.1  eth0
SIOCADDRT: No such process
Failed to bring up eth0

Tentu saja, mengubah netmask ke 255.255.0.0 berfungsi dengan baik.

Apakah itu mungkin, atau ada hal lain yang menjadi masalah? Apakah ada cara untuk mendapatkan lebih banyak informasi dari ifup? Saya melihat satu posting di internet yang menyarankan itu harus berfungsi.

Kevin G.
sumber

Jawaban:

10

Cara lain untuk mendekati pertanyaan ini adalah: jika Anda tidak dapat mencapai router default-gateway di jaringan lokal, bagaimana Anda mengirim paket melalui itu? Anda harus mengirim mereka melalui router lain.

Untuk latar belakang tertentu, ingatlah bahwa paket IP biasanya berisi sumber dan alamat tujuan: dari mana asalnya, dan ke mana ia ingin pergi. Biasanya terserah router untuk memutuskan bagaimana sampai di sana.

Jadi, ketika Anda mengirim paket IP Anda melalui router gateway default off-jaringan Anda, salah satu dari dua hal perlu terjadi.

  1. Router jaringan lokal tahu bagaimana mencapai router gateway default, dan itu setuju dengan ide Anda bahwa paket Anda harus dikirim melalui router gateway default untuk mencapai tujuannya. Dalam hal ini, mengapa tidak menggunakan router jaringan lokal sebagai gateway default Anda?

  2. Router jaringan lokal berpikir (secara default) bahwa paket Anda harus dikirim melalui beberapa router lain untuk sampai ke tujuannya. Dalam hal ini Anda harus punya cara untuk mengatakannya sebaliknya. Kemampuan ini ada, dan disebut "source routing" ... tetapi dianggap sebagai risiko keamanan, dan sebagian besar router dikonfigurasi untuk mengabaikannya.

Akhirnya, dalam pengalaman saya, alat Linux iproute ( ip) tidak akan membiarkan Anda menambahkan rute jika gateway tidak dapat dijangkau secara langsung melalui antarmuka jaringan lokal.

Beberapa referensi perutean sumber:

Jander
sumber
4

Gateway default harus berada di subnet yang sama dengan alamat IP perangkat. Biasanya alamat IP router dari jaringan yang Anda hubungkan. Dari halaman wikipedia di Rute Default :

Dalam jaringan komputer, gateway adalah node (router) pada jaringan TCP / IP yang berfungsi sebagai titik akses ke jaringan lain. Gateway default adalah node pada jaringan komputer yang digunakan perangkat lunak jaringan ketika alamat IP tidak cocok dengan rute lain dalam tabel routing. Ini sebenarnya adalah alamat IP dari router yang terhubung dengan jaringan PC Anda.

Dalam konfigurasi komputasi rumah, ISP seringkali menyediakan perangkat fisik yang keduanya menghubungkan perangkat keras lokal ke Internet dan berfungsi sebagai gateway. Perangkat tersebut termasuk router DSL dan router kabel.

Dalam sistem organisasi gateway adalah simpul yang merutekan lalu lintas dari workstation ke segmen jaringan lain. Gateway default biasanya menghubungkan jaringan internal dan jaringan luar (Internet). Dalam situasi seperti itu, node gateway juga dapat bertindak sebagai server proxy dan firewall. Gateway juga dikaitkan dengan router, yang menggunakan header dan tabel penerusan untuk menentukan di mana paket dikirim, dan sebuah saklar, yang menyediakan jalur sebenarnya untuk paket masuk dan keluar dari gateway.

Dengan kata lain, gateway default menyediakan titik masuk dan titik keluar di jaringan.

slm
sumber
Tetapi jika ada rute statis ke suatu alamat, tidak bisakah itu menjadi gateway standar bahkan jika itu bukan pada subnet? (Kami masuk ke teknis di sini dan jauh dari praktik yang baik).
kurtm
Rute statis bisa menjadi rute, hanya bukan gateway default (seperti yang saya mengerti).
slm
2
Rute default HARUS berada di subnet yang sama. Rute Default adalah bagaimana Anda mendapatkan semua lalu lintas dari subnet Anda dan ke yang lain. Jadi mulai dari jika Anda mencoba untuk mendapatkan lalu lintas dari 10.100.10.99 ke 10.100.0.1 Anda memerlukan "gateway" untuk mendapatkan dari jaringan 10.100.10.0/24 ke 10.100.0.0/24. 10.100.0.1 tidak dapat menjadi gateway default Anda karena Anda tidak dapat mencapainya secara default. Namun itu bisa menjadi "a" gateway. Dan itu bahkan bisa menjadi "gerbang" tempat Anda mengirim semua lalu lintas (setelah Anda memberi tahu cara menuju ke jaringan lain).
coteyr
1
@coteyr: namun saya masih bisa berfungsi. Jika ada rute statis ke subnet lain, dan gateway default ada di subnet itu, saya bisa menambahkan rute default dan melakukan ping / membuat koneksi tanpa masalah. Mungkin kurang efisien, tetapi berhasil.
siride
Saya akan mengatakan: rute adalah bagaimana Anda mendapatkan semua lalu lintas dari subnet Anda dan ke yang lain. Saat menentukan rute, Anda dapat menentukan segmen IP (atau supernet - kombinasi segmen) dan gateway untuk mengakses segmen / supernet dengan, atau Anda dapat menentukan "untuk semua hal lain yang tidak disebutkan dalam tabel routing, gunakan ini pintu gerbang". Yang terakhir adalah rute default, dan gateway yang digunakan di dalamnya disebut gateway default. Ketika Anda hanya memiliki satu NIC, Anda hampir selalu hanya membutuhkan rute default; tetapi dengan beberapa NIC Anda mungkin memerlukan rute lain juga.
telcoM
2

Saya mengalami masalah yang sama di beberapa lokasi dengan layanan Verizon ADSL. "Gateway default" ada di subnet yang berbeda. Dalam kasus kami, kami membutuhkan alamat IP publik untuk menggunakan vpn situs-ke-situs ipsec. Untuk melakukan itu, kita perlu menempatkan gateway DSL ke mode bridge, sehingga alamat IP publik ada di router kita, bukan gateway DSL.

Sebagian besar penyedia layanan dapat melakukan ini dengan cukup mudah, tetapi Verizon tampaknya mengalami kesulitan. Menggunakan gateway DSL D-Link 2750B, menempatkannya dalam mode bridge, teknisi Verizon menyuruh saya untuk menggunakan gateway default pada subnet terpisah. Saya mengujinya menggunakan laptop Windows 7 saya dan meskipun Windows memberikan pesan kesalahan yang menyatakan bahwa, "Anda idiot dan ini adalah ide yang buruk - apakah Anda MASIH ingin menyimpan konfigurasi ini? Ya / Tidak," itu berfungsi .

Namun, perangkat lunak dengan pemeriksaan kewarasan yang lebih ketat tampaknya melindungi Anda dari diri Anda sendiri ...

Tetap saja, aku tidak bisa tidak berpikir ada cara untuk memalsukannya ...

Stuart Smith
sumber
1

Itu mungkin, tetapi seperti yang dijelaskan dalam artikel yang ditautkan mesin Anda harus sudah tahu cara menuju ke alamat gateway. Ini berarti bahwa Anda harus menggunakan post-upuntuk secara manual menambahkan rutegateway

iface eth0 inet static
  address 10.100.10.99
  netmask 255.255.255.0
  post-up ip route 10.100.0.0/24 via 10.100.10.x # router that can route you to the 10.100.0.0/24 network
  post-up ip route 0.0.0.0 via 10.100.0.1
jordanm
sumber
2
ip routePerintah ini akan gagal jika Anda mencobanya ... bahkan jika Anda menambahkan addperintah yang hilang .
Jander