Saya menggunakan mac dan mencoba untuk merutekan alamat tertentu melalui gateway khusus pada koneksi wifi saya.
Saya menggunakan:
route add -host 54.81.143.201 192.168.15.1
Kadang-kadang ini akan berhasil, di lain waktu tidak. Apa yang saya temukan adalah bahwa antarmuka yang dipilihnya berbeda setiap kali. Itu perlu en0
untuk bekerja
netstat -nr
output ketika tidak berfungsi:
54.81.143.201 192.168.15.1 UGHS 1 89 en5
Inilah saatnya berhasil: (note en0)
54.81.143.201 192.168.15.1 UGHS 0 1 en
Mengapa aku melakukan ini? Karena perusahaan kami memiliki proxy yang HipChat tidak berfungsi. Jadi saya merutekan lalu lintas hipchat melalui jaringan wifi terbuka sementara masih di ethernet karya saya.
EDIT:
Saya juga mencoba menambahkan entri hanya dengan menggunakan antarmuka
route add -host 54.81.143.201 -interface en0
54.81.143.201 78:31:c1:c7:52:74 UHS 0 2 en0
HipChat gagal terhubung.
EDIT 2: Seseorang meminta seluruh tabel routing saya, ini dia hari ini. Perhatikan bahwa 54.81.143.201 sekarang terikat ke en3 dan bukan en0
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.7.90.1 UGSc 31 6 en3
10.7.90/24 link#4 UCS 4 0 en3
10.7.90.1 0:23:ac:3d:db:c2 UHLWIir 16 0 en3 1200
10.7.90.44 40:6c:8f:19:4a:bb UHLWI 0 3 en3 946
10.7.90.63 127.0.0.1 UHS 0 0 lo0
54.81.143.201 192.168.15.1 UGHS 0 0 en3
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 3 209 lo0
169.254 link#4 UCS 1 0 en3
169.254.255.255 0:23:ac:3d:db:c2 UHLSW 0 0 en3
en3
jelas benar. 192.168.15.1 tidak dapat dijangkau melalui antarmuka lainnya. Satu-satunya cara untuk mencapai 192.168.15.1 dalam tabel routing itu adalah melalui rute default, kan? (Terus terang, sepertinya Anda tidak tahu apa yang sedang Anda lakukan. Anda sepertinya terkejut bahwa sistemnya tidak melakukan hal yang mustahil.)Jawaban:
Mencoba:
sumber
Seperti yang ditunjukkan orang lain, ini sebenarnya 3 masalah.
Antarmuka nirkabel Anda tampaknya berubah antara en0, en3, dan en5.
Di MacBook Air saya, en0 selalu nirkabel; Thunderbolt-to-Ethernet selalu en3, dan USB-to-Ethernet selalu en5. Tetapi jika Anda mencolokkan adaptor ke port lain di Mac Anda, maka namanya NIC berubah. Anda harus menyelesaikan ini dulu. Pastikan nirkabel Anda selalu memiliki nama yang sama. Kalau tidak, ketika Anda memasukkan perintah rute statis, jika tidak ada NIC terhubung ke
en0
lokasi, perintah itu (jelas) akan gagal dengan "kesalahan alamat" (alamat fisik tidak memiliki tautan).Demikian juga, pastikan adaptor selalu terhubung ke SSID yang sama. Alamat gateway jelas harus valid untuk subnet, dan jaringan WiFi yang berbeda akan memiliki subnet yang berbeda. Ini dapat menyebabkan jenis kesalahan lain.
Anda tidak menentukan apakah nirkabel adalah satu-satunya koneksi jaringan Anda. Mengingat hal di atas, saya kira tidak ...? Ini dan jaringan virtual karena VMware atau Parallels dapat menyebabkan kompleksitas tambahan. (Misalnya, jika kedua jaringan yang terhubung menggunakan ruang IP yang sama ... Mesin virtual sering dijembatani dan memiliki IP sendiri / rute / tautan ...) Memposting topologi jaringan akan membantu.
Setelah selesai, coba salah satu
sudo route add -host 54.81.143.201 -iface en0
atausudo ipfw
. Jika Anda tidak yakin dengan nama adaptor, Anda dapat menentukan alamat MAC-nya, seperti ini:sudo route add -host 54.81.143.201 -link 14:10:9f:e7:fd:0a
Terkait: https://discussions.apple.com/thread/5049994?searchText=policy%20route
Jika Anda me-reboot, ini mungkin tidak berlanjut. Anda harus menanganinya secara terpisah.
sumber
sumber
Saya bisa menambahkan rute melintasi antarmuka dengan menggunakan
-link
opsi untuk menentukan alamat MAC.route add -host 54.81.143.201 -link [mac addr of 192.168.15.1 on en0]
Itu akan mengirim lalu lintas untuk
54.81.143.201
keluar dari antarmuka yang sesuai.Anda memiliki dua
192.168.15.*
alamat host terpisah yang ditetapkan, satu untuk setiap antarmuka, bukan? Selain itu, Anda dapat mengirim lalu lintas dari kedua antarmuka, tetapi lalu lintas akan kembali pada sumber IP mana pun yang dimiliki paket.sumber
Solusi ini berfungsi pada MacOS 10.12 (Sierra) terbaru. Inilah intinya .
Gunakan seperti ini:
Diasumsikan bahwa antarmuka wifi adalah: en1 .
Jangan lupa untuk menempatkan nilai-nilai yang benar untuk wifi_router dan wifi_address variabel. Perhatikan format wifi_address , yaitu: nama antarmuka jaringan ' : ' antarmuka dengan alamat mac ' . ' pembatas . Tentu sebagian besar informasi yang diperlukan dapat diurai dari output perintah ifconfig , tapi aku terlalu malas untuk itu =)
sumber
Perintah OS X
route
didokumentasikan di sini . Itu-ifscope
parameter dan nilainya memungkinkan Anda untuk menentukan rute antarmuka-terikat.Namun, ini bukan yang Anda inginkan. Anda perlu memperbaiki jaringan Anda sehingga rentang IP mereka unik. Selain itu, metrik antarmuka (alias prioritas) memengaruhi antarmuka mana yang dipilih dari opsi yang sama-sama menguntungkan.
sumber
Jadi server vendor yang Anda coba ajak bicara mengenai layanan "HipChat" yang Anda klaim adalah 54.81.143.201? Dalam hal ini, saya akan membuat entri rute untuk 54.81.143.0 255.255.255.0 untuk memberikan rentang yang lebih besar. Mungkin ketika menggunakan perangkat lunak, Anda tidak selalu berbicara dengan server khusus ini, tetapi sekelompok mereka pada subnet yang sama 54.81.143.0/24. Selain itu, pastikan juga metrik rute Anda sudah benar saat membuat entri baru. Jika Anda membuat rute ke 54.81.143.0/24 192.168.15.1 Metrik 20 En5, tetapi juga memiliki rute ke 0.0.0.0/0 10.7.90.1 Metrik 10 En0. Komputer akan mengabaikan entri baru Anda dan melanjutkan merutekan lalu lintas melalui rute default (melalui En0) karena lebih disukai. Saya hanya melihat-lihat dan ingin menunjukkan hal itu. Tepuk tangan!
sumber
Anda harus mencoba menambahkan nama NIC:
Ini bekerja untuk saya di CentOS.
sumber