Network Manager memecah rute manual

9

Saya memiliki Ubuntu 13.10, Saucy Salamander x64 berjalan sebagai tamu di VirtualBox (dengan Windows 7 sebagai tuan rumah).

Saya menulis ini /etc/network/interfaceskarena saya perlu menambahkan sejumlah besar rute statis manual permanen:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp
    up ip -force -b /etc/network/eth1-routes

eth1-routes berisi beberapa baris formulir:

route add 10.0.0.0/8 via 172.x.x.x dev eth1

di mana 172.x.x.xgateway yang VBox NAT memberi saya.

Dengan menjalankannya netstat -nrtampak bahwa semua rute manual saya telah berhasil ditambahkan, termasuk rute untuk sampai ke dua server DNS via 172.x.x.x.

Namun, manajer jaringan mengatakan bahwa kedua perangkat "tidak dikelola". Jika saya atur /etc/NetworkManager/NetworkManager.conf managed=true, manajer jaringan bekerja lagi tetapi rute saya hilang. Jadi kompromi saya saat ini adalah untuk mengatur managed=falsedan komentar keluar eth0garis di /etc/network/interfaces.

Apakah ada cara agar perangkat dikelola dan masih melakukan rute manual seperti di atas?

Reinderien
sumber

Jawaban:

4

Network Manager tidak mengenali pernyataan yang Anda tulis /etc/network/interfaces.

Jadi, Anda dapat menambahkan skrip Anda eth1-routessebagai skrip dispatcher untuk Network Manager di /etc/network/if-up.d/. Ini akan dijalankan setiap kali antarmuka naik. Mungkin Anda harus menulis dalam skrip Anda sebuah "jika klausa" untuk hanya menambahkan rute jika eth1muncul. Seperti ini:

if [ "$IFACE" == "eth1" ]; then
  route add ...
  route add ...
fi
kekacauan
sumber
5

Network Manager mengelola rute statisnya sendiri - buka network manager dan pilih "koneksi kabel 1". Pilih edit. pilih tab IPv4. Di bagian bawah halaman ini adalah tombol untuk "Rute". Di situlah Anda menambahkannya. Ketika selesai, NM menulis ke file dengan izin root di direktori / etc / NetworkManager / system-connection / yang disebut "Wired connection 1"

Contoh berikut

ls -l /etc/NetworkManager/system-connections/
total 4.0K
-rw------- 1 root root 216 Aug 26 10:38 Wired connection 1

sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 1

[802-3-ethernet]
mac-address=A:Real:Mac:Add:re:ss

[connection]
id=Wired connection 1
uuid=df4491fc-0981-4071-82ae-04c7b2d6d9fc
type=802-3-ethernet

[ipv6]
method=auto

[ipv4]
method=auto
route1=10.2.2.0/24,10.1.1.68,1

Di mana 10.2.2.0 adalah jaringan tujuan dan 10.1.1.68 adalah gateway.

Fred
sumber
1

Jika Anda ingin menambahkan rute ke Ubuntu yang tetap reboot dan tidak menggunakan antarmuka default sebagai gateway maka Anda mungkin ingin menambahkan pernyataan rute ke file konfigurasi NetworkManager untuk antarmuka spesifik.

Tambahkan rute ke file konfigurasi / etc / NetworkManager / system-koneksi / "connection name" dengan menambahkan pernyataan rute ke file konfigurasi untuk (dengan asumsi IPv4). Rute ini memiliki empat bagian; "yang pertama adalah jaringan atau alamat IPv4 tujuan (urutan byte jaringan), yang kedua jaringan tujuan atau awalan alamat (1 - 32), yang ketiga adalah hop berikutnya (urutan byte jaringan) jika ada, dan yang keempat adalah metrik rute " .

[ipv4]
method=auto
route1=172.16.0.0/16,192.168.3.1,1

Ini sama dengan mengatur rute menggunakan pernyataan rute berikut:

route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.3.1

Keyname rute didefinisikan pada Tabel 12 dalam dokumentasi pengembang NetmorkManager. Silakan lihat URL berikut untuk informasi lebih lanjut: https://developer.gnome.org/NetworkManager/0.9/ref-settings.html

Nuwandame
sumber