Belirli trafik için WIFI ve LAN yönlendirme


12

Macbook pro'mda iki ağ cihazım var:

  1. WIFI (tr1): Genel trafik için kullanılır. DHCP üzerinden 192.168.19. * Değerinde bir IP'ye bağlanır
  2. LAN (en0): Belirli trafik için kullanılır. 192.168.2.10'luk bir IP'ye statik IP olarak bağlanır. Bir yönlendiriciye bağlanmaz, yalnızca doğrudan yönlendirme bağlantısı için bir anahtardır .

LAN üzerinden erişmem gereken 4 IP adresim var:

  1. 192.168.2.1
  2. 192.168.2.21
  3. 192.168.2.20
  4. 192.168.2.30

Trafik geri kalanı WIFI gitmek gerekiyor. Belirli IP adresleri için bir yönlendirme tablosu kurmayı denedim, ancak sadece ağımı karıştırmayı başardım. Ağ dünyasına çok sık girmiyorum, ama bu denediğim en son komuttu:

sudo route add -host 192.168.2.30 -interface en0

Bu komut ping kullanma yeteneğimi öldürdü. Bana pingin bellek ayıramadığını söyledi (bu mümkün mü)? Ayrıca wifi erişimimi öldürdü. Oturumu kapatıp tekrar açmak sorunu çözdü. Bu çözümü kalıcı hale getirmeyi gerçekten umursamıyorum, bu yüzden geçici bir yönlendirme konusunda iyiyim.

DÜZENLE:

Şu anda deniyor olsaydım:

sudo route flush
sudo route add default 192.168.19.1

Bu, her şeyin yaklaşık bir dakika çalışmasını sağlar. Ancak bu dakikadan sonra LAN (en0) yönlendirmesini korurken WiFi yönlendirmesini "unutur". LAN (en0) kabloyu çıkarır ve çıkarırsam işlem bir dakika daha çalışır.

DÜZENLEME 2:

Bunlar d34dh0r53'ün isteği olarak girilen bazı komutlardı.

$ netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.2.1        UGSc            4        0     en0
default            192.168.19.1       UGScI           0        0     en1
127                127.0.0.1          UCS             0        1     lo0
127.0.0.1          127.0.0.1          UH              5  1429023     lo0
169.254            link#4             UCS             0        0     en0
192.168.2          link#4             UCS             4        0     en0
192.168.2.1        0:27:22:2e:5f:1a   UHLWIi          2        0     en0   1199
192.168.2.10       127.0.0.1          UHS             0        0     lo0
192.168.2.30       90:a2:da:0:f5:63   UHLWIi          1     1433     en0   1191
192.168.2.255      ff:ff:ff:ff:ff:ff  UHLWbI          0        7     en0
192.168.19         link#5             UCS             2        0     en1
192.168.19.1       3e:d0:f8:aa:28:56  UHLWIi          0        2     en1   1192
192.168.19.3       127.0.0.1          UHS             1        0     lo0
192.168.19.255     ff:ff:ff:ff:ff:ff  UHLWbI          0        5     en1

Internet6:
Destination                             Gateway                         Flags         Netif Expire
::1                                     link#1                          UHL             lo0
fe80::%lo0/64                           fe80::1%lo0                     UcI             lo0
fe80::1%lo0                             link#1                          UHLI            lo0
fe80::%en0/64                           link#4                          UCI             en0
fe80::226:4aff:fe00:b68a%en0            0:26:4a:0:b6:8a                 UHLI            lo0
fe80::%en1/64                           link#5                          UCI             en1
fe80::226:bbff:fe03:cbd%en1             0:26:bb:3:c:bd                  UHLI            lo0
ff01::%lo0/32                           fe80::1%lo0                     UmCI            lo0
ff01::%en0/32                           link#4                          UmCI            en0
ff01::%en1/32                           link#5                          UmCI            en1
ff02::%lo0/32                           fe80::1%lo0                     UmCI            lo0
ff02::%en0/32                           link#4                          UmCI            en0
ff02::%en1/32                           link#5                          UmCI            en1
$ traceroute -n 192.168.2.1
traceroute to 192.168.2.1 (192.168.2.1), 64 hops max, 52 byte packets
 1  192.168.2.1  2.499 ms  3.392 ms  3.829 ms
$ traceroute -n google.com
traceroute: unknown host google.com

İşletim sistemi donanımı değil yönlendirmeyi işler.
Ignacio Vazquez-Abrams

LAN'daki her şey 192.168.2.X mi? Eğer öyleyse, bu çözümü çok daha basit hale getirir.
LawrenceC

@ultrasawblade Evet, bu ağdaki her şey 192.168.2. *
jakebird451

Yanıtlar:


11

İletişim kurmak istediğiniz tüm 192.168.2.x adreslerinin 192.168.2.x adresiyle arabirimde olması şartıyla, bu yapılandırma için el ile herhangi bir yönlendirme kuralı oluşturmanız gerekmez.

  1. Sistem Tercihleri ​​-> Ağ'a gidin
  2. Ethernet cihazınızı seçin, "IPv4 Yapılandır" ın "Manuel" olarak ayarlandığından, alt ağ maskenizin 255.255.255.0 olarak ayarlandığından ve yönlendirici kutusunun boş olduğundan emin olun.

Bu yapıldıktan sonra, netstat -rnher iki alt ağın da yollarını göstermelidir, ancak 192.168.2.1'e kadar varsayılan yolun yerine yalnızca "bağlantı # 4" yolunu göstermelidir.

Varsayılan bir rota istemiyorsanız, yönlendirici kutusunu boş bırakın. Yönlendirici kutusundaki değer yalnızca bu ağ arabirimi üzerinden varsayılan bir rota ayarlamak için kullanılır ve başka hiçbir şey için kullanılmaz.


Teşekkür ederim! Hepsi bu kadar! Yönlendirici alanı dışında her şey doğru ayarlanmıştı. 192.168.2.1Lan tarafındaki "yönlendirici" ile eşleştirmek için yönlendirici alanına ip adresini koydum . Gerekli olduğunu düşündüm, ancak şimdi genel trafik için varsayılan rotayı geçtiğini görüyorum.
jakebird451

Bunun için teşekkürler! Aynı sorunu vardı ve benim için mükemmel çalıştı.
BaronVonKaneHoffen

4

Sorun, en0arabiriminizin 802.11 arabirimi tarafından oluşturulan varsayılan yoldan öncelikli olan varsayılan bir yol eklemesidir. Tam olarak neden olduğundan emin değilim, ama BSD'nin kablosuz bir arabirime göre kablolu bir arabirimi tercih ettiği veya dinamik olarak yapılandırılmış bir arabirime göre statik olarak yapılandırılmış bir arabirimi tercih ettiği gerçeği. en0Varsayılan rotanın Refssütun tarafından kullanıldığını söyleyebilirsiniz ; Refs, rotanın mevcut etkin kullanım sayısını gösteren bir metriktir, böylece tüm trafiği aldığını görebiliriz.

Çözüm, yerel ağlarınızdakiler dışındaki ana bilgisayarlar için hedeflenen trafiğin DHCP tarafından oluşturulan varsayılan ağ geçidini geçmesi için yönlendirme tablosundan kalıcı olarak tercih edilen bu yolu kaldırmaktır en1. Kontrol edeceğim ilk şey en0, routeralana hiçbir şey girmediğinizden emin olmak için yapılandırma panelinde . Bu alandaki bilgiler varsayılan ağ geçidi olarak eklenir. Bu işe yaramazsa, rotayı manuel olarak silmemiz gerekir, işe yaramamasının nedeni route flush, OS X'e yönlendirme bilgilerini arayüz yapılandırma dosyalarından yeniden yüklemesini ve dolayısıyla kısa bir süre sonra değişikliğinizi geri almasını söylediğine inanıyorum. Aşağıdaki komut,en0 ağ yeniden başlatılana veya sistem IPLed oluncaya kadar arabirim:

sudo route delete -net 0.0.0.0 192.168.2.1

Bu değişikliği kalıcı yapmak istiyorsanız, a) /Library/StartupItemsbana çok fazla iş gibi görünen bir hizmet oluşturabilir veya b) bu ​​satırı aşağıdaki /etc/rc.localgibi bir komutla ekleyebilirsiniz :

echo 'route delete -net 0.0.0.0 192.168.2.1' >> /etc/rc.local

Arabirimler tamamen yukarı ve yönlendirme tablosu oluşturulmadan önce komutun çalıştırılmasını önlemek için sleep <number_of_seconds>bu satırdan önce bir komut eklemeniz gerekebilir /etc/rc.local.

Umarım bu yardımcı olur ve iyi şanslar!


Uzun süren yanıtınız için teşekkür ederiz. Varsayılan yol 192.168.2.1sorunu oldu, ancak @rakslice en0 bağlantısı için yönlendirme bilgilerimi girerken bir hata yaptığımı fark etti. IP adresini 192.168.2.1, gerekli olduğuna inanarak yönlendirici alanına koydum . Varsayılan yönlendirici ipini kaldırdıktan sonra, kötü varsayılan rotayı da kaldırdım 192.168.2.1. Tekrar, yardımın için teşekkürler.
26:12 haziran

1
Bummed tür lütuf alamadım: "Kontrol edeceğim ilk şey en0 için yapılandırma panelinde olduğunu yönlendirici alanına hiçbir şey girmediğinden emin olun. Bu alandaki bilgiler varsayılan ağ geçidi olarak eklenir. " Ama sonunda her şey iyi, işe yaradığına sevindim.
26.06.2012

0

Wifi IP'nizi varsayılan ağ geçidiniz olarak ayarlamak ve LAN'a veya 192.168.2.0/24'e bağlı tüm varsayılan ağ geçitlerini (veya 0.0.0.0'a giden yolu) kaldırmak istiyorsunuz.

En1'inizi wifi ile çalışacak sabit bir IP'ye ayarlayabilirseniz bu elbette daha kolaydır.

192.168.2.0/24 ağına rota olarak 192.168.2.10 eklemeniz gerekebilir. Ancak, 192.168.2.0/24'ün arayüze atadığınız şeyin sanal ile doğrudan bağlı olduğunu söyleyebileceği için bu otomatik olmalıdır.

Dolayısıyla, herhangi bir 192.168.2.X adresine giden trafik 192.168.2.10'dan çıkacak ve başka herhangi bir yere giden trafik en1'inizin IP adresinden çıkacaktır.


Benim wifi sipariş ağ sys tercihleri ​​ile üst ayarlayın. Ama nasıl yapılacağından emin değilim remove any default gateway connected to the LAN.
jakebird451

belki sudo route del default 192.168.2.10?, tam olarak freebsd / mac osx üzerinde nasıl yapılacağından emin değilim ama benzer olmalı.
LawrenceC

Mac'teki komut sudo route delete default 192.168.2.10. Ping hala etkin. Ancak, yönlendirici ip hariç wifi trafiğine erişimi kapatır.
16.02.2012

WiFi üzerinden internet alırsınız, doğru, yani LAN ve sadece Wifi üzerinden bağlanmıyorsanız, Google gibi harici sitelere ulaşabilirsiniz.
LawrenceC

Evet, WiFi, google.com (genel olarak google maps api için) gibi genel trafik içindir
jakebird451
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.