บังคับที่อยู่ IPv4


15

ผมอัพเกรดราสเบอร์รี่ Pi systemdของฉันไปที่เจสซีซึ่งใช้ ผลข้างเคียงอย่างหนึ่งคือมันเชื่อมต่อโดยใช้ IPv6 เท่านั้นและไม่มีที่อยู่ IPv4 ฉันจะบังคับให้รับที่อยู่ IPv4 จากเซิร์ฟเวอร์ DHCP ได้อย่างไร

โซลูชัน Ad-hoc หนึ่งคำสั่งคือ

sudo dhclient -4 -v eth0

แต่นี่เป็นเพียงสำหรับเซสชันปัจจุบันเท่านั้น


ไม่มีคำตอบด้านล่างที่เหมาะกับฉัน แต่ฉันต้องการsudo apt-get install isc-dhcp-clientหลังจากใช้sudo dhclient -4 -v eth0เพื่อออนไลน์
mrswadge

บริบทเพิ่มเติมบางส่วนกับความคิดเห็นก่อนหน้าของฉัน ในสถานการณ์ของฉันอาการเมื่อเรียกใช้sudo ifup -v eth0การเรียกไปยัง dhclient ล้มเหลวและแทนที่จะแสดงข้อมูลการใช้งาน
mrswadge

คำตอบ:


9

Raspbian Jessie ไม่มีไฟล์ชื่ออีกต่อไป/etc/sysctl.d- ตอนนี้มันเป็นโฟลเดอร์ที่มีชื่อเดียวกัน

ตามไฟล์ read-me ในโฟลเดอร์เดียวกันREADME.sysctlมันบอกโดยทั่วไปว่า.confไฟล์ใด ๆจะถูกอ่านในเวลาบูตและประมวลผล ชื่อไฟล์ทางกฎหมายจะใช้ได้ แต่พวกเขาแนะนำlocal.confนั่นคือสิ่งที่ฉันใช้

ฉันสร้าง/etc/sysctl.d/local.confและเพิ่มบรรทัดเดียวจากคำตอบอื่น ๆ :

net.ipv6.conf.all.disable_ipv6=1

ดูเหมือนว่าจะใช้งานได้ดี


สิ่งที่.dอยู่ใน/etcนั้นไม่เคยมีอะไรนอกจากไดเรกทอรีที่จะเริ่มต้นด้วย ฉันไม่รู้ว่าคำตอบของโจแพลตตาโนเกี่ยวข้องกับการพิมพ์ผิดหรือไม่ว่ามันจะใช้งานได้จริงฉันก็ยังสงสัยอยู่ดี
goldilocks

2

คุณสามารถแทรกบรรทัดลงใน sysctl เพื่อปิดการใช้งาน ipv6

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

สิ่งนี้จะทำงานหลังจากรีบูตครั้งถัดไป


มัน / etc / sysctl.conf เป็นไฟล์เป้าหมาย โปรดระวังว่า> จะแทนที่ไฟล์ทั้งหมด!
David

2

ใน Raspbian Jessie / Jessie Lite เพียงแก้ไข/etc/sysctl.confไฟล์และเพิ่มสวิตช์เพื่อปิดใช้งาน ipv6 ดังต่อไปนี้:

sudo nano /etc/sysctl.conf

ป้อนข้อความ:

net.ipv6.conf.all.disable_ipv6=1

บันทึกไฟล์ด้วยCtrl-O, Ctrl-Xและรีบูต RPI


2

sudo nano /etc/sysctl.conf

ผนวกบรรทัดต่อไปนี้เพื่อปิด ipv6:

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

รันsudo sysctl -pเพื่อให้มีผลหรือรีบูต


1

วิธีที่ง่ายที่สุดที่ฉันพบเพื่อรับที่อยู่ IPv4 สำหรับอินเทอร์เฟซก็คือการเปลี่ยน / etc / network / interfaces: การตั้งค่าคู่มือเป็น dhcp ... ที่ให้คุณได้รับที่อยู่ IPv4 บน eth0 ... อาจเป็นแค่แฮ็ค ไม่พบอะไรที่ดีไปกว่านี้ ...

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

Raspbian Jessie ไม่ได้ใช้dhcp(ยกเว้นว่าผู้ใช้เล่นซอกับมันจริงๆ) และสิ่งนี้จะป้องกันการสนับสนุน GUI WiFi จากการทำงาน
Milliways

1

การรวมแก้ไขและเพิ่มคำตอบก่อนหน้านี้:

เมื่อต้องการแก้ไขอินเทอร์เฟซ (eth หรือ wlan) ที่แสดงที่อยู่เพียง inet6 (IPV6) และไม่มีที่อยู่ inet (IPV4) คุณสามารถผนวกไฟล์กำหนดค่าเพื่อปิดใช้งานการกำหนด inet6 (IPV6) เพื่อให้อินเทอร์เฟซทั้งหมดได้รับ inet ที่อยู่ (IPV4) หากไฟล์ config นั้นถูกลบอีกครั้งอินเทอร์เฟซจะได้รับทั้ง inet (IPV4) และที่อยู่ inet6 (IPV6) เช่นกลับไปสู่สถานะเริ่มต้นตามปกติ

ในการเพิ่มไฟล์:

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

และเพิ่มบรรทัดเดียว:

net.ipv6.conf.all.disable_ipv6=1

บันทึกด้วย Ctrl-O, Y, [Return] รีบูตและเข้าสู่ระบบอีกครั้ง

sudo reboot

ตรวจสอบที่อยู่โดยใช้

ifconfig

ลบไฟล์กำหนดค่าแล้วรีบูต:

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

ตรวจสอบอีกครั้งด้วย ifconfig:

ifconfig

ดูที่อยู่ทั้ง inet (IPV4) และ inet6 (IPV6) สำหรับอินเตอร์เฟสทั้งหมด:

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

และฉันสามารถ SSH อีกครั้งไปที่ Pi Zero ของฉันโดยใช้ eth0 หรือ wlan0 ทั้งคู่ใช้ที่อยู่ IPV4 หรือ IPV6


1

ฉันอัพเกรด Raspberry Pi เป็น Stretch และฉันไม่สามารถประสบความสำเร็จได้ด้วยnet.ipv6.conf.all.disable_ipv6=1คำตอบที่หลากหลาย

การเรียกใช้ด้วยตนเองsudo dhclient -4 -v eth0เพื่อให้การเชื่อมต่อเครือข่าย / อินเทอร์เน็ตของฉันกลับมาทำงานได้ตามที่ระบุไว้โดยโปสเตอร์ดั้งเดิมมันไม่รอดจากการรีบูต

ฉันสังเกตเห็นว่ามีการsudo ifup -v eth0เรียกdhclientแต่มันล้มเหลวและแทนที่จะทำงานอย่างถูกต้องมันแสดงข้อมูลการใช้งานสำหรับdhclientคำสั่ง

วิธีแก้ปัญหาที่ดูเหมือนจะเป็นที่จะย้ายออกจากและแทนที่จะติดตั้งdhclient isc-dhcp-clientเมื่อรีบูตเครื่องแล้วการเชื่อมต่อของฉันจะพร้อมใช้งานโดยอัตโนมัติหลังจากติดตั้งแพคเกจนี้

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

0

ฉันมีปัญหาเดียวกันและลองวิธีการแก้ปัญหาด้านล่างใช้งานได้ดีหลังจากรีบูต Pi ของฉัน

sudo nano  /etc/sysctl.d

ชนิด

net.ipv6.conf.all.disable_ipv6=1

ประหยัดด้วย^Oถึงsysctl.d

sudo reboot

ตอนนี้ฉันเห็นที่อยู่ ip4 ของฉันบนหน้าจอบูต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.