Ipv6
debian 8:我的機器開始僅將 IPv6 用於 outgoing 連接。如何回到 IPv4?
我
debian 8
在我的伺服器上執行。最近,伺服器開始只對所有傳出 TCP 連接使用 IPv6。但是,它仍然接受 IPv4 的傳入連接。因此,我現在無法訪問任何網站(埠 80),建立任何 ssh 連接(埠 22),也無法通過伺服器上的任何 TCP 埠訪問任何其他傳出主機。
iptables -F
我通過後跟完全禁用了所有 iptables 規則iptables -X
,問題仍然存在。以下是一些可能相關的命令輸出:
% sudo ip address 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether aa:bf:5c:77:b2:82 brd ff:ff:ff:ff:ff:ff 3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether f2:3c:91:96:da:28 brd ff:ff:ff:ff:ff:ff inet 45.33.123.70/24 brd 45.33.123.255 scope global eth0 valid_lft forever preferred_lft forever inet 45.33.5.47/24 scope global eth0:1 valid_lft forever preferred_lft forever inet 192.168.135.4/17 scope global eth0:2 valid_lft forever preferred_lft forever inet6 2600:3c00::f03c:91ff:fe96:da28/64 scope global mngtmpaddr dynamic valid_lft 87sec preferred_lft 27sec inet6 fe80::f03c:91ff:fe96:da28/64 scope link valid_lft forever preferred_lft forever 4: teql0: <NOARP> mtu 1500 qdisc noop state DOWN group default qlen 100 link/void 5: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000 link/ipip 0.0.0.0 brd 0.0.0.0 6: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default qlen 1000 link/gre 0.0.0.0 brd 0.0.0.0 7: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1476 qdisc noop state DOWN group default qlen 1000 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 8: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1464 qdisc noop state DOWN group default qlen 1000 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 9: ip_vti0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000 link/ipip 0.0.0.0 brd 0.0.0.0 10: ip6_vti0@NONE: <NOARP> mtu 1364 qdisc noop state DOWN group default qlen 1000 link/tunnel6 :: brd :: 11: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000 link/sit 0.0.0.0 brd 0.0.0.0 12: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000 link/tunnel6 :: brd :: 13: ip6gre0@NONE: <NOARP> mtu 1448 qdisc noop state DOWN group default qlen 1000 link/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 % sudo route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 45.33.123.1 0.0.0.0 UG 0 0 0 eth0 45.33.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 45.33.123.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.128.0 0.0.0.0 255.255.128.0 U 0 0 0 eth0
我不知道是什麼導致了這種對僅 IPv6 輸出的更改。但無論如何,我只想回到 IPv4 作為所有傳出連接的預設值。
感謝您的任何見解和建議。
在涉及 IPv6 時,我採用“從軌道上核對它”的方法。
添加
ipv6.disable=1
到您的核心選項,/etc/default/grub
然後執行update-grub
並重新啟動:GRUB_CMDLINE_LINUX_DEFAULT="... ipv6.disable=1"
或者,如果您不能輕鬆修改核心參數,請將其添加到您的 sysctl.conf 或執行 sysctl 以手動設置:
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1
另一種可能有效的方法是將您的機器配置為首選IPv4。所以它會先嘗試 IPv4,但如果失敗了再嘗試 IPv6。
這可以在
/etc/gai.conf
precedence ::ffff:0:0/96 100 scopev4 ::ffff:0.0.0.0/96 14
這告訴
getaddrinfo()
呼叫優先考慮 IPv4 結果。