debian 8
私のサーバーでこれを実行しています。最近、サーバーはすべての発信TCP接続にIPv6のみを使用し始めました。ただし、着信接続にはまだIPv4を許可します。
その結果、Webサイト(ポート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を返したいと思います。
洞察力と提案に感謝します。
答え1
もう一つの方法は、コンピュータを次のように構成することです。好むIPv4したがって、最初にIPv4を試み、失敗した場合はIPv6を試してください。
これは次のように実行できます。/etc/gai.conf
precedence ::ffff:0:0/96 100
scopev4 ::ffff:0.0.0.0/96 14
これは、getaddrinfo()
IPv4結果の優先順位を指定するように呼び出しに指示します。
答え2
パブリックIP6アドレスを削除しても問題ありません。
# ip address del 2600:3c00::f03c:91ff:fe96:da28/64 dev eth0
どのようにそこに到達したかについては、おそらくDHCPサーバー(DHCPを介してアドレスを取得した場合)がIPv6プレフィックスを送信し始めたばかりです。
長期的にIPv6を有効にする場合は、プロバイダに通知することをお勧めします。
答え3
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