IPv4 adresini zorla


16

Raspberry Pi'mi kullanan Jessie'ye yükselttim systemd. Bir yan etkisi, sadece IPv6 kullanarak bağlanması ve IPv4 adresi olmamasıdır. DHCP sunucusundan bir IPv4 adresi almaya nasıl zorlayabilirim?

Geçici çözümlerden biri komuttur

sudo dhclient -4 -v eth0

ancak bu yalnızca geçerli oturum için sürer.


Aşağıdaki cevapların hiçbiri benim için işe yaramadı, bunun yerine çevrimiçi olmak için sudo apt-get install isc-dhcp-clientkullandıktan sonra ihtiyacım vardı sudo dhclient -4 -v eth0.
mrswadge

Önceki yorumumda başka bağlamlar da var. Benim durumumda sudo ifup -v eth0, dhclient çağrısını çalıştırırken belirtiler başarısız oldu ve bunun yerine kullanım bilgilerini gösterdi.
mrswadge

Yanıtlar:


9

Raspbian Jessie artık bir dosyaya sahip değil - artık aynı adda /etc/sysctl.dbir klasör .

Aynı klasördeki beni oku dosyasına göre README.sysctl, temelde herhangi bir .confdosyanın önyükleme zamanında okunacağını ve işleneceğini söylüyor . Herhangi bir yasal dosya adı çalışır, ancak önerdiler local.conf, bu yüzden kullandım.

/etc/sysctl.d/local.confDiğer cevaplardan tek satır oluşturup ekledim:

net.ipv6.conf.all.disable_ipv6=1

Bu gayet iyi çalışıyor gibi görünüyor.


Hiçbir şey .dbaşlamak /etciçin bir dizinden başka bir şey değildi. Joe Platano'nun cevabının bir yazım hatası içerip içermediğini veya bunun gerçekten işe yarayıp yaramayacağını bilmiyorum, bir şekilde şüpheliyim (ancak bunu doğrulayacak başka bir cevap olsa da).
goldilocks

2

ipv6'yı devre dışı bırakmak için sysctl öğesine bir satır ekleyebilirsiniz.

echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d

bu bir sonraki yeniden başlatmanın ardından çalışacaktır.


Hedef dosya olarak /etc/sysctl.conf. > Öğesinin tüm dosyayı geçersiz kılacağını unutmayın!
David

2

Raspbian Jessie / Jessie Lite'da /etc/sysctl.confdosyayı düzenleyin ve ipv6'yı devre dışı bırakmak için anahtarı aşağıdaki gibi ekleyin:

sudo nano /etc/sysctl.conf

Metni girin:

net.ipv6.conf.all.disable_ipv6=1

İle dosyayı kaydedin Ctrl-O, Ctrl-Xve RPI yeniden başlatın.


2

sudo nano /etc/sysctl.conf

ipv6'yı kapatmak için aşağıdaki satırları ekleyin:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

sudo sysctl -pyürürlüğe girmek veya sadece yeniden başlatmak için çalıştırın .


1

arabirim için bir IPv4 adresi almanın en kolay yolu / etc / network / arabirimlerini değiştirmekti: kılavuzu dhcp'ye ayarlamak ... bu da eth0'da bir IPv4 adresi alır ... muhtemelen sadece bir hack ama cenneti ' Henüz daha iyi bir şey bulamadım ...

    auto eth0
    allow-hotplug eth0
    # iface eth0 inet manual
    iface eth0 inet dhcp

Raspbian Jessie dhcp(kullanıcı gerçekten onunla uğraşmadıkça ) kullanmaz ve bu GUI WiFi desteğinin çalışmasını önler.
Milliways

1

Önceki cevapları birleştirme, düzeltme ve ekleme:

Yalnızca inet6 (IPV6) adresi gösteren ve inet (IPV4) adresi olmayan bir arabirimi (eth veya wlan) düzeltmek için, inet6 (IPV6) atamasını devre dışı bırakmak üzere bir yapılandırma dosyası ekleyebilirsiniz, böylece tüm arabirimlere bir inet verilir (IPV4) adresi. Bu yapılandırma dosyası tekrar silinirse, arabirimlere İKİ bir inet (IPV4) ve bir inet6 (IPV6) adresi verilecektir, yani normal varsayılan duruma geri dönülecektir.

Dosyayı eklemek için:

sudo nano /etc/sysctl.d/local.conf

ve tek satırı ekleyin:

net.ipv6.conf.all.disable_ipv6=1

Ctrl-O, Y, [Return] ile kaydedin. Yeniden başlatın ve tekrar giriş yapın.

sudo reboot

Kullanarak adresleri kontrol edin

ifconfig

Yapılandırma dosyasını kaldırın ve yeniden başlatın:

cd /etc/sysctl.d
sudo rm local.conf
sudo reboot

İfconfig ile tekrar kontrol edin:

ifconfig

Tüm arabirimler için hem inet (IPV4) hem de inet6 (IPV6) adreslerine bakın:

eth0      Link encap:Ethernet  HWaddr 00:e0:4c:53:44:58
          inet addr:192.168.1.228  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::26a5:b629:f948:92c3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

wlan0     Link encap:Ethernet  HWaddr b8:27:eb:62:b4:7a
          inet addr:192.168.1.229  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::254c:3f61:fdc:bc49/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Ve bir kez daha hem IPV4 hem de IPV6 adresini kullanarak eth0 veya wlan0 kullanarak Pi Zero'ma SSH verebilirim.


1

Raspberry Pi'mi Stretch'e yükselttim ve net.ipv6.conf.all.disable_ipv6=1cevapların herhangi bir varyasyonuyla başarılı olamadım.

sudo dhclient -4 -v eth0Ağ / internet bağlantımı tekrar çalışır hale getirmek için manuel olarak çalışıyor , ancak orijinal posterde belirtildiği gibi bir yeniden başlatmadan kurtulamıyor.

Ben fark sudo ifup -v eth0denilen dhclient, ancak başarısız ve yerine düzgün işleyen, onun için kullanım bilgilerini gösteren idi dhclientkomutu.

Geçici çözüm, dhclientyüklemeden uzaklaşmak ve bunun yerine yüklemek gibi görünüyor isc-dhcp-client. Yeniden başlatıldığında, bu paketi yükledikten sonra bağlantım otomatik olarak kullanılabilir oldu.

sudo apt-get install isc-dhcp-client
sudo reboot

0

Ben de aynı sorunu var ve aşağıdaki çözümü denedim, bu benim Pi yeniden başlattıktan sonra iyi çalışıyor.

sudo nano  /etc/sysctl.d

tip

net.ipv6.conf.all.disable_ipv6=1

ile kaydetmek ^Oiçinsysctl.d

sudo reboot

Şimdi ip4 adresimi önyükleme ekranında görüyorum.

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.