ฉันมีการกำหนดค่าเครือข่ายต่อไปนี้:
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:e0:1c:73:02:09
inet addr:10.1.4.41 Bcast:10.1.255.255 Mask:255.255.0.0
inet6 addr: fe80::2e0:4cff:fe75:309/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:858600 errors:0 dropped:0 overruns:0 frame:0
TX packets:1069549 errors:0 dropped:0 overruns:5 carrier:0
collisions:0 txqueuelen:1000
RX bytes:142871181 (136.2 MiB) TX bytes:717982640 (684.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:37952 errors:0 dropped:0 overruns:0 frame:0
TX packets:37952 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3396918 (3.2 MiB) TX bytes:3396918 (3.2 MiB)
ฉันมีเซิร์ฟเวอร์ DHCP ในเครือข่ายของฉันและฉันสามารถขอเช่าได้ดังต่อไปนี้:
lease {
interface "eth0";
fixed-address 10.1.4.41;
option subnet-mask 255.255.0.0;
option routers 10.1.255.253;
option dhcp-lease-time 120;
option dhcp-message-type 5;
option domain-name-servers 82.160.125.52,213.199.198.248,82.160.1.1;
option dhcp-server-identifier 192.168.22.22;
renew 3 2014/01/01 18:34:41;
rebind 3 2014/01/01 18:35:30;
expire 3 2014/01/01 18:35:45;
}
ฉันสามารถ ping 127.0.0.1
, ::1
, 10.1.4.41
:
$ ping 10.1.4.41
PING 10.1.4.41 (10.1.4.41) 56(84) bytes of data.
64 bytes from 10.1.4.41: icmp_seq=1 ttl=64 time=0.065 ms
64 bytes from 10.1.4.41: icmp_seq=2 ttl=64 time=0.075 ms
64 bytes from 10.1.4.41: icmp_seq=3 ttl=64 time=0.085 ms
^C
--- 10.1.4.41 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.065/0.075/0.085/0.008 ms
$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.066 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.056 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.055 ms
^C
--- 127.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.055/0.059/0.066/0.005 ms
$ ping6 ::1
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from ::1: icmp_seq=2 ttl=64 time=0.049 ms
64 bytes from ::1: icmp_seq=3 ttl=64 time=0.037 ms
^C
--- ::1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.037/0.046/0.052/0.006 ms
ฉันไม่สามารถ ping ที่อยู่ ipv6 fe80::2e0:4cff:fe75:309
:
$ ping6 fe80::2e0:4cff:fe75:309
connect: Invalid argument
ฉันได้ตั้งกฎ iptables (ipv4):
# iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N TCP
-N UDP
-A INPUT -i eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i tun0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A OUTPUT -m conntrack --ctstate INVALID -j DROP
และทำงานได้ตามที่คาดไว้สำหรับ ipv4 แต่เมื่อฉันตรวจสอบ ip6tables ฉันสามารถเห็นแพ็คเก็ตบางอย่างไปที่นั่น:
# ip6tables -nvL
Chain INPUT (policy ACCEPT 381 packets, 27624 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 390 packets, 26296 bytes)
pkts bytes target prot opt in out source destination
ฉันทำตามคำแนะนำนี้และพวกเขาบอกว่าฉันควรคัดลอกการกำหนดค่า iptables (ipv4) และวางลงใน ip6tables (ipv6) แต่เมื่อฉันทำสิ่งนี้ไม่มีแพ็กเก็ตที่สามารถผ่านกฎRELATED,ESTABLISHED
ในตาราง ipv6 ทั้งหมดถูกปล่อยเนื่องจากนโยบายลูกโซ่ INPUT ( DROP
)
# ip6tables -nvL
Chain INPUT (policy DROP 5 packets, 360 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all eth0 * ::/0 ::/0 ctstate RELATED,ESTABLISHED
0 0 ACCEPT all lo * ::/0 ::/0
0 0 ACCEPT all tun0 * ::/0 ::/0 ctstate RELATED,ESTABLISHED
0 0 DROP all * * ::/0 ::/0 ctstate INVALID
0 0 UDP udp * * ::/0 ::/0 ctstate NEW
0 0 TCP tcp * * ::/0 ::/0 tcp flags:0x17/0x02 ctstate NEW
0 0 REJECT tcp * * ::/0 ::/0 reject-with tcp-reset
0 0 REJECT udp * * ::/0 ::/0 reject-with icmp6-port-unreachable
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all * * ::/0 ::/0 ctstate INVALID
Chain TCP (1 references)
pkts bytes target prot opt in out source destination
Chain UDP (1 references)
pkts bytes target prot opt in out source destination
อย่างที่คุณเห็นว่าไม่มีแพ็กเก็ตเอาต์พุตดังนั้นเหตุใดจึงลองใช้ google และ stack exchange เพื่อเชื่อมต่อกับเครื่องของฉัน และพวกเขาจะทำอย่างไรเพราะแม้ฉันไม่สามารถ ping ที่อยู่ ipv6 ของฉันได้
พวกเขายังบอกว่าถ้าฉัน ISP ไม่ได้มี IPv6 (ในการเช่าที่ไม่มีรายการ IPv6) ฉันควรจะปิดการใช้งาน IPv6 ipv6.disable=1
และเคยทำแบบนี้มาก่อนโดยใช้ ฉันถามคำถามที่คล้ายกันที่meta.stackoverflow.com
และฉันได้รับคำตอบว่าฉันไม่ควรปิดการใช้งาน ipv6
ฉันไม่รู้จะทำยังไง ฉันมีปัญหาในการเชื่อมต่อฉันหมายความว่าบางครั้งฉันไม่สามารถเข้าถึงหน้าเว็บที่ stack exchange หรือ Google ฉันมีปัญหากับ pastebin.com ในแต่ละกรณีมีอาการเหมือนกัน - หลังจากพิมพ์ที่อยู่ในเบราว์เซอร์ของฉันฉันต้องรอบางครั้งหลายนาทีเพื่อเข้าถึงเว็บไซต์และหลังจากโหลดซ้ำ 2-3 ครั้งฉันสามารถเรียกดูได้อย่างอิสระอย่างน้อยสำหรับ ระยะเวลาหนึ่ง
icmpv6
กฎ แต่ จำกัด ที่ 20 / นาทีและฉันเห็นว่าแพ็กเก็ตไปที่นั่นping6 -I eth0 fe80::2e0:4cff:fe75:309
ยังใช้งานได้