ipv6導致域名解析慢!關閉ipv6


有2台主機,一個 是rh4,一個 是centos6 ;

都在/etc/hosts里配置了 IP到域名的解析;ping域名可以正確解析到IP;但應用程序死活就是host  not  found

2台機器都開了ipv6;

======================================================================

http://www.ileiming.com/centos%E7%B3%BB%E7%BB%9F%E4%B8%AD%E4%BF%AE%E6%94%B9%E7%B3%BB%E7%BB%9Fhashsize%E5%A4%A7%E5%B0%8F.html

http://www.wenzk.com/archives/1271

modprobe.conf怎么不見了—-CentOS 6

 

用習慣了CentOS或RHEL的用戶或許很熟悉/etc/modprobe.conf文件,系統聲卡、網卡、SCSI卡的驅動類型都在這里定義,同樣部分動態加載的模塊的參數也可以在這個文件中定義,但是在CentOS6安裝完畢后,在etc目錄中卻找不到modprobe.conf文件了,到底modprobe.conf文件到哪里去了?

細心的人可能會發現,其實在CentOS5的系統中也可以找到/etc/modprobe.d/目錄,這個目錄下一堆配置文件,其實就是/etc/modprobe.conf文件的補充,類似include形式包含進去。

通過man modprobe可以發現,其實並不是/etc/modprobe.conf放到別的地方去了,而是默認沒有生成這個文件,如果你需要自定義該文件的內容,可以直接創建該文件,或者在/etc/modprobe.d目錄中創建相應的配置文件即可,如:

/etc/modprobe.d/local.conf

1
options nf_conntrack hashsize=100000

停止iptables,ip6tables后重啟兩個服務即可將系統最大連接數修改成80萬。

======================================================================

http://blog.itechol.com/space-33-do-blog-id-5473.html

centos下判斷是否開啟ipv6及關閉ipv6的方式

已有 392 次閱讀  2012-01-31 17:14   標簽:  ipv6 

      linux默認是開啟ipv6的,但是很多網絡服務還不支持ipv6,開啟了ipv6反而會影響服務器的網絡性能。可以考慮關閉ipv6功能
Linux下首先確認IPv6是否已經被啟用,可以從三個方面確定。

1.使用ifconfig查看自己的IP地址是否含有IPv6地址。
eth0 Link encap:Ethernet HWaddr 00:0A:E4:FE:6F:E1 
inet addr:172.28.245.104 Bcast:172.28.245.127 Mask:255.255.255.128
inet6 addr: fe80::20a:e4ff:fefe:6fe1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:96998 errors:0 dropped:0 overruns:0 frame:0
TX packets:69963 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:113588678 (108.3 MiB) TX bytes:8894978 (8.4 MiB)
Interrupt:20 

2.查看服務監聽的IP中是否有IPv6格式的地址。(netstat -tuln)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State 
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 
udp 0 0 172.28.245.104:61440 0.0.0.0:* 
udp 0 0 0.0.0.0:32823 0.0.0.0:* 
udp 0 0 0.0.0.0:32824 0.0.0.0:* 
udp 0 0 0.0.0.0:68 0.0.0.0:* 

3.使用lsmod|grep  ipv6查看ipv6的模塊是否被加載。
ipv6 245989 12 

關閉IPV6的方式:
當確定IPv6已經開啟后就可以按照下面的方法將其關閉
1.使用vi編輯器,打開/etc/modprobe.conf
2.在文檔中加入如下的兩條:
alias net-pf-10 off
alias ipv6 off
保存退出,並且重新啟動系統。
重啟之后可以使用上面的三種方法去驗證IPv6支持是否已經被關閉。

IPv6是默認支持的,所以當你要重新開起IPv6支持時,將/etc/modprobe.conf中的兩條指令注釋掉就可以了。

======================================================================

http://www.111cn.net/sys/CentOS/50864.htm

 

http://www.linuxso.com/linuxrumen/17201.html

http://blog.csdn.net/suplxj/article/details/7773423

方法一:

CentOS 6 默認安裝后,IPv6是自動開啟的,但是現在IPv6還沒有普及基本用不到這個功能,建議關閉IPv6模塊。下面介紹一下關閉方法。

說明藍色=命令名稱

      淺綠=命令參數

      淺藍=選項

      紫色=目錄

      系統環境:CentOS  6.2  i686

1、查看系統是否開啟ipv6

a)通過網卡屬性查看

命令:ifconfig

注釋:有 “inet6 addr:。。。。。。。“ 的表示開啟了ipv6功能

b)通過內核模塊加載信息查看

命令:lsmod grep ipv6

2、ipv6關閉方法

在/etc/modprobe.d/dist.conf結尾添加

alias net-pf-10 off
alias ipv6 off
可用vi等編輯器,也可以通過命令:
cat <<EOF>>/etc/modprobe.d/dist.conf
alias net-pf-10 off
alias ipv6 off
EOF

寫改完畢重啟電腦。

 

 

 

方法二:

 

首先,在終端輸入 ip -6 addr show 和 lsmod | grep ipv6查詢一下有無安裝IPV6模塊,或用netstat -nuptl查看是否有ipv6的地址,如果有顯示,則說明未禁用IPV6協議,請按以下步驟操作:

一、vi /etc/modprobe.d/disable-ipv6.conf(名字隨便起)(RHEL6.0之后沒有了/etc/modprobe.conf這個文件)
輸入:install ipv6 /bin/true


[root@manager ~]# cd /etc/modprobe.d/
[root@manager modprobe.d]# cat ipv6.conf 
install ipv6 /bin/true

 

二、vi /etc/sysconfig/network在最后增加一句:IPV6INIT=no

[root@manager ~]# cat /etc/sysconfig/network
NETWORKING=yes
IPV6INIT=no

 

三、禁用ipv6的iptables
chkconfig ip6tables off

四、重啟。

 

最后,在終端再次輸入開頭兩條命令來驗證IPV6協議禁用是否成功,此時應無任何內容。

 

======================================================================

發源:

http://www.cnblogs.com/taosim/p/3148634.html

==================================================

http://tadbytes.blogspot.com/2011/12/disable-ipv6-in-linux.html

Disable IPv6 in Linux

 
Before Disabling IPv6 Ensure you do not require ipv6. Some common modules that use ipv6 are: rdma_cm, ib_addr, bnx2i, cnic
Configuration Changes to Disable IPv6
To disable ipv6 and prevent the module from loading, the following configuration files require changes:
[1] In RHEL 5 / OEL5 and earlier /etc/modprobe.conf:
alias net-pf-10 off alias ipv6 off options ipv6 disable=1
# Will load true instead of ipv6 module
install ipv6 /bin/true
In RHEL 6 / Oracle Linux 6: /etc/modprobe.conf is deprecated. Instead add a conf file with any name in /etc/modprobe.d, like: /etc/modprobe.d/disable_ipv6.conf, with the following content: a lias net-pf-10 off options ipv6 disable=1 install ipv6 /bin/true
[2] /etc/sysconfig/network: NETWORKING_IPV6=no
Reboot for Changes to Take Effect Verify that IPv6 Module is Not Loaded The following command should not return anything: /sbin/lsmod | grep ipv6

 

 

http://www.eit.name/blog/read.php?201

絕大多數版本的linux支持ipv6,可惜IPV6離我們還是很遠,增加它,不但會影響我們的系統性能,如果你使用linux做桌面的話,它還會嚴重影響你的上網速度。
我個人感覺就是DNS解析起來非常得慢。
以下是如何禁用它的支持。
原文請看這里:
http://www.mjmwired.net/resources/mjm-fedora-fc6.html#ipv6
Disable IPv6 Features
18 October 2006

FC6 has the most IPv6 support than in previous releases. Most likely you do not use IPv6. If you wish to eliminate the slight extra resources consumed by enabling IPv6, then you may do the following steps.

This may speed up your DNS lookup times when using the internet.

Disable IPv6 Networking Support
支持網絡支持

Edit /etc/sysconfig/network. (A reboot will be required)

[mirandam@charon ~]$ sudo gedit /etc/sysconfig/network

Change:
NETWORKING_IPV6=yes

To:
NETWORKING_IPV6=no

Disable IPv6 Protocol Stack for Kernel
禁止IPV6的內核模塊。

Edit /etc/modprobe.conf.

[mirandam@charon ~]$ sudo gedit /etc/modprobe.conf

Add the following 2 lines: (A reboot will be required)

alias net-pf-10 off
alias ipv6 off

Disable IPv6 Firewall
禁止IPV6的防火牆。

Stop ipv6 firewall:

[mirandam@charon ~]$ sudo /etc/init.d/ip6tables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading ip6tables modules:                               [  OK  ]

Turn ipv6 firewall off during future usage:

[mirandam@charon ~]$ sudo /sbin/chkconfig --level 35 ip6tables off

 

 

 

=========================================================

 http://www.cnblogs.com/zhengyun_ustc/archive/2012/12/08/slow_dns_resolution.html

一. 現象:
Java HttpClient 從主站機房發起對××××的 open.×××.com 域名下 WebService 接口的 HTTP 請求,極其緩慢。
經排查:
1.1. wget 實測結果
指定 IP協議,wget 訪問它的接口,時間為 4.163 秒,基本浪費在解析主機的過程上。
如指定 wget 的 IP協議為IPV4,wget 測試則僅需 0.096 秒。
1.2. wget 對比測試:
指定IP協議,wget 訪問另一個電商的接口,時間為 0.798 秒。
1.3. dig 解析 open.×××.com
發現在解析 open.×××.com 的時候,會 CNAME 到一個全局變量中,再由這個全局變量選擇最優的線路提供訪問。
 
二. 有可能導致 Slow-DNS-Resolution 的原因:
1) 瀏覽器對××××的接口瀏覽快,不能證明什么。譬如火狐默認禁用了 ipv6 dns lookup:
http://images.cnblogs.com/cnblogs_com/zhengyun_ustc/255879/o_clipboard91.png
 
2)Ubuntu 從 10.4 開始引入一個問題:操作系統默認啟用了 ipv6,導致一些應用程序發出 HTTP 請求時,在 ipv4 介入之前,總是先等待 ipv6 DNS lookup 超時(常有人報告需約30秒),這也是一個 DNS lookup 過程緩慢的常見原因。
 
3)也有人報告:『某一天運維部宣告公司網絡已經全部 enable IPv6 了,在此之后在使用 php 的 curl 函數或使用 Linux 下的 wget 訪問一個內部域名時,均發現需要等待大概 5 秒才能得到結果。原因是,沒有為這個域名綁定一個 IPv6 的地址,wget 時必須等 ipv6 DNS lookup 超時。現在很多服務器都開啟了 IPv6 卻沒有路由,無法真正工作,反而導致一些不可預料的問題。』
 
總之,此事應該與 ipv6-dns-lookup 有關。
 
三. 原因:
××××在網絡接入設備上做了調整,解決了問題。
原因:
1)××××使用了 F5 的 GTM 設備(GSLB,全局負載均衡),即我們常說的智能DNS。
2)它把   需要讓不同區域用戶訪問不同IDC節點的域名  通過 F5 的 GTM 來做解析。
3)可能它的設備默認啟用了 ipv6,但對於不同域名卻又沒有配置 ipv6 地址。
 
四. ipv6-dns-lookup 背景知識:
4.1. Java 平台下 ipv6 是如何工作的?
並非所有操作系統都支持 ipv6 協議,即使 Java networking stack 優先嘗試檢測它,並在發現可用時透明地使用它,也還可以利用系統屬性禁用它。在 ipv6 不可用或被顯式禁用的情況下, Inet6Address  對大多數網絡連接操作都不再是有效參數。
引自   javase 的 ipv6 guide  文檔:
第一步, Java networking stack  先確認底層操作系統是否支持 ipv6。如果支持 ipv6 ,Java 將嘗試使用   ipv6 stack
第二步,在 雙堆棧(dual-stack,指ipv4 stack+ipv6 stack)系統上,將創建一個 ipv6 socket。在   separate-stack  系統上,事情要復雜得多,Java 將創建兩個 socket,一個給 ipv4 一個給 ipv6。
第三步,對於客戶端 TCP 應用,一旦 socket 連上了,那   internet-protocol family type  就固定了,多余的那個 socket 就關閉了。對於服務器端 TCP 應用,由於不知道下一個客戶端請求用什么 ip family type,所以這兩個 sockets 將繼續保留。對於 UDP 應用,這兩個 sockets 始終都需要保留。
 
4.2. ipv6 相關的系統參數
系統有兩個參數:
1)首選的 協議棧:ipv4還是ipv6;
2)首選的 地址族(address family type):inet4 還是 inet6。
4.2.1. 協議棧
由於在一個雙堆棧系統上, ipv6 socket 能與 ipv4 和 ipv6 對端交互,所以  ipv6 stack 是默認首選項
你可以通過如下系統參數修改配置:
java.net.preferIPv4Stack=<true|false>
對應的 java 代碼是:
java.lang.System.setProperty("java.net.preferIPv4Stack", "true");
4.2.2. 地址族
默認我們首選 ipv4 地址族。
你可以通過如下系統參數修改配置:
java.net.preferIPv6Addresses=<true|false>
對應的 java 代碼是:
java.lang.System.setProperty("java.net.preferIPv6Addresses", "false");
 
4.3. Linux 上禁用 ipv6 的辦法:

Edit /etc/sysconfig/network. (A reboot will be required)
# vi /etc/sysconfig/network

Change:
NETWORKING_IPV6=yes

To:
NETWORKING_IPV6=no
Disable IPv6 Protocol Stack for Kernel
禁止IPV6的內核模塊

Edit /etc/modprobe.conf.
# vi/etc/modprobe.conf

Add the following 2 lines: (A reboot will be required)
alias net-pf-10 off
alias ipv6 off

 

4.4. F5 上 ipv6 相關設置:
據說,通過如下命令可以設置 BIG-IP 禁用 ipv6 :
bigpipe db Ipv6.Enabled false
bigpipe save all
 
BIG-IP 與 ipv6 有關的參數默認值如下所示:
Ipv6.Enabled = true
Ipv6.Nbr.DelayTime = 1
Ipv6.Nbr.IncompleteTimeout = 5
Ipv6.Nbr.MaxEntries = 2048
Ipv6.Nbr.ReachableTimeout = 30
Ipv6.Nbr.ReapTimeout = 3600
Ipv6.Nbr.Retries = 2
 
附錄A:
-4’‘ --inet4-only’‘ -6’‘ --inet6-only’Force connecting to IPv4 or IPv6 addresses. With ‘ --inet4-only’ or ‘ -4’, Wget will only connect to IPv4 hosts, ignoring AAAA records in DNS, and refusing to connect to IPv6 addresses specified in URLs. Conversely, with ‘ --inet6-only’ or ‘ -6’, Wget will only connect to IPv6 hosts and ignore A records and IPv4 addresses.       
 

參考資源:
 
 

5.4及其以上版本的centos系統禁用ipv6:

修改下面兩個文件以阻止IPv6內核模塊的加載: /etc/modprobe.conf – 內核模塊配置文件 /etc/sysconfig/network – 網絡配置文件

1. # vim /etc/modprobe.conf

加入下面這一行:

install ipv6 /bin/true

保存並退出。

2. # vim /etc/sysconfig/network 在其中加入下面配置項:

NETWORKING_IPV6=no IPV6INIT=no

保存並退出。重啟網絡與服務器:

# service network restart # rmmod ipv6 # reboot

如果想檢查當前IPv6是否已禁用,可以使用下列命令:

# lsmod | grep ipv6 # ifconfig -a

=============================================

Linux IPv6配置1:加載ipv6模塊

運行命令insmod ipv6或者modprobe ipv6,然后用命令lsmod可以查看系統已加載的模塊列表,如果看到ipv6,則表示模塊已經加載成功。用命令rmmod ipv6可以刪除ipv6模塊。

也可以讓系統在網絡啟動的時候自動加載ipv6模塊,方法是編輯/etc/sysconfig/network文件,加入 新的一行NETWORKING_IPV6=YES。

Linux IPv6配置2:配置ipv6地址

默認情況下,一旦加載了ipv6模塊,系統會自動給網卡配置好ipv6的本地鏈路地址(link local address),這里地址的特點是以[fe80::]開頭。如果機器所接入的網絡中,有支持ipv6的路由器,並且該路由器配置的是無狀態地址自動配 置,那么系統還會自動給網卡配置一個全球地址(Global Address)。本地鏈路地址是本地鏈路中唯一的,全球地址是全球IPv6網絡中唯一的。

也可以手動給網卡配置地址,比如當網卡是以太網卡時,用以下命令即可為網卡配置一個全球地址為2001:250:3000:1::1:1,網絡前綴 (Network Prefix)為112的ipv6地址: ifconfig eth0 add 2001:250:3000:1::1:1/112

Linux IPv6配置3:測試網絡連通性  

網絡連通性測試的前題是有另外一台ipv6的網絡節點,可以是普通的支持ipv6的pc,也可以是支持ipv6的路由器。它們之間要么在鏈路層直接 相通,要么經過其他的支持ipv6的網絡節點在鏈路層間接相通。假設另外一台機器的網絡節點的全球地址為為2001:250:3000:1::1:2,那 么用以下命令:ping6 2001:250:3000:1::1:2/112     應該可以看到類似如下的結果: PING 2001:250:3000:1::1:2(2001:250:3000:2::1:1) 56 data bytes 64 bytes from 2001:250:3000:1::1:2: icmp_seq=1 ttl=64 time=0.082 ms 64 bytes from 2001:250:3000:1::1:2: icmp_seq=2 ttl=64 time=0.058 ms 這就表明這兩個節點之間的ipv6網絡連通性正常。

Linux IPv6配置4:配置靜態路由表

route -A inet6(可以查看ipv6的靜態路由表);   route -A inet6 add default gw 2001:250:3000:2:2c0:95ff:fee0:473f(在系統的靜態路由表里面加上一條靜態路由記錄)    Linux IPv6配置5:支持的服務    WEB服務

服務器Apache 2.0.40

啟動方法:/etc/init.d/httpd start

客戶端lynx 2.8.5

運行方法:lynx http://[ipv6 -address]:port/

LDAP服務

我采用開源項目openldap提供的服務器和客戶端,版本號是2.0.25,其網站為http://www.openldap.org/,該軟件能夠支持IPv6。   服務端啟動方法:/etc/init.d/ldap start

客戶端訪問方法:ldapsearch -x -h [ipv6-addr] -D "cn=Manager"

 

 

 

由於centos默認是開啟ipv6模塊的,我發現在centos里開啟ipv6模塊使DNS解析的時間增加了很多,特別是在yum時。網上最多說的禁用ipv6的方法如下: 1. #vim /etc/modprobe.conf,在其中加入如下兩行:

alias net-pf-10 off alias ipv6 off

2. #vim /etc/sysconfig/network文件,確認其中含有如下行:

NETWORKING_IPV6=no

3. 重啟系統 #reboot 經過上面幾步,理論上應該是關閉了ipv6,查看方法如下: 1. #ifconfig -a 如果出現sit0這一項,說明還是沒有成功禁用ipv6 2. #lsmod | grep ipv6 如果出現:ipv6  xfrm_nalgo兩行,說明沒有成功禁用ipv6。

 

5.4及其以上版本的centos系統利用如上方法禁用ipv6是不對的,應該如下方法禁用ipv6:

 

可以修改下面兩個文件以阻止IPv6內核模塊的加載: /etc/modprobe.conf – 內核模塊配置文件 /etc/sysconfig/network – 網絡配置文件

1. # vim /etc/modprobe.conf 在其中加入下面這一行,

install ipv6 /bin/true

保存並退出。

2. # vim /etc/sysconfig/network 在其中加入下面配置項:

NETWORKING_IPV6=no IPV6INIT=no

保存並退出文件,重啟網絡與服務器:

# service network restart # rmmod ipv6 # reboot

如果想檢查當前IPv6是否已禁用,可以使用下列命令:

# lsmod | grep ipv6 # ifconfig -a

注:以上方法在CentOS5.5驗證通過,同樣適用於RHEL和Fedora

 

 

 

 

http://www.bsdmap.com/2010/10/15/centos-5-disable-ipv6/

1. 編輯 /etc/sysconfig/network ,設置 NETWORKING_IPV6=”no”

2. 編輯 /etc/modprobe.conf,加如下面兩行

alias ipv6 off alias net-pf-10 off

3. 禁用 IPv6 防火牆

chkconfig ip6tables off

4. 重新引導系統。

注意:

在 5.4 或以上版本,請在 /etc/modprobe.conf 把 alias ipv6 off 改為 options ipv6 disable=1

另類做法(可能較容易,並適用於在任何有 /etc/modprobe.d 的發行內):

# touch /etc/modprobe.d/disable-ipv6.conf # echo “install ipv6 /bin/true” >> /etc/modprobe.d/disable-ipv6.conf

* 5.4 版的更新引進了符號/ipv6 模塊的互賴性;因此,假若 IPv6 曾經以上述方法停用,當結合界面的驅動程序被升級到 5.4 后,內核的結合模塊將會不能被裝入。要讓這個模塊正常裝入,請改用:

# touch /etc/modprobe.d/disable-ipv6.conf # echo “options ipv6 disable=1″ >> /etc/modprobe.d/disable-ipv6.conf

 

為什么要禁用IPv6?

有資料顯示 IPv6 有可能會導致 DNS 解析變慢,禁用 IPv6 后恢復正常。

補充:

請詳細閱讀:

http://wiki.centos.org/zh/FAQ/CentOS5#head-578b77a75af362bb1f4f6cd797d4664f2c7819df

RedHat官方建議不要禁用ipv6模塊,而是使用net.ipv6.conf.all.disable_ipv6 = 1 的方式禁用ipv6。

比如我們已知的一個問題,當系統禁用ipv6模塊后,php在調用curl的時候,速度會非常慢。因為curl會測試是否支持ipv6,並試圖modprobe ipv6(這個過程慢導致應用變慢)。

參考:

http://www.linuxsense.org/archives/74.html

 

http://www.slyar.com/blog/centos-linux-ipv6-switch.html

IPv6在CentOS上是默認啟用的,不過目前沒什么用,偶爾還會產生一些問題,so,可以關了它。

1.查看一些系統是否開啟了IPv6支持

# ifconfig eth0

可以看到 inet6 addr....表明開啟了,現在關掉它。

2.在 /etc/modprobe.conf 中添加2行語句就可以了,我的太長了,不截圖了。

# vim /etc/modprobe.conf

在后面添加

alias net-pf-10 off
alias ipv6 off

保存退出。

3.重啟系統,然后再次檢測IPv6支持

# reboot

# ifconfig eth0

如果要再次啟用IPv6支持,刪掉添加的2條語句重啟系統即可。

http://easwy.com/blog/archives/disable-ipv6-in-centos-and-redhat/

在CentOS 5中關閉IPv6的方法:

首先修改/etc/modprobe.conf文件,在此文件中加入:

alias net-pf-10 off
alias ipv6 off

然后修改/etc/sysconfig/network文件,修改”NETWORKING_IPV6″一行為:

NETWORKING_IPV6=no

然后重啟系統即可。

深入閱讀請看:Centos/redhat中關閉IPV6

 http://bbs.2cto.com/read.php?tid=249410&page=e

今天在使用 php 的 curl 函數時,發現需要等待大概 5 秒才能得到結果,實在是太慢了。而同樣一個 url 使用瀏覽器訪問,則立刻可以獲得頁面。后來又發現,即使不用 php,使用 Linux 下的原生命令 wget 去獲取網頁,也很慢。這真是太奇怪了,看上去不是程序的原因,而是網絡設置的問題了。
執行 wget 時可以明顯看到,阻塞發生在 DNS 域名解析的部分。
$ wget www.myproject.com
--2012-06-18 12:17:30-- http://www.myproject.com/
Resolving www.myproject.com... # 此處停滯約 5 秒
192.168.1.187
Connecting to www.myproject.com|192.168.1.187|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: index.html?

[ <=> ] 5,200 --.-K/s in 0s

2012-06-18 12:17:35 (264 MB/s) - index.html saved [5200]
我使用的是開發環境,域名解析到一個內部 IP 上。奇怪的是,我使用 ping www.myproject.com 卻很快可以獲得 IP 地址並返回 ICMP 報文。為什么 wget 的 DNS 解析會這么慢呢?www.2cto.com
Google 到 StackOverflow 上面也有很多人提這個問題,有說是 reverse DNS 反向域名解析的問題,
閱讀全文地址:http://www.2cto.com/kf/201206/136283.html

 

 

http://netkailong.blog.51cto.com/1387007/640787

轉載自http://blog.chinaunix.net/space.php?uid=20542054&do=blog&cuid=474768

 

Centos/redhat中關閉IPV6  (2008-02-01 20:40)
 

 

1 檢測IPV6是否啟用

1.1 使用ifconfig查看自己的IP地址是否含有IPv6地址

          inet addr:192.168.198.128  Bcast:192.168.198.255  Mask:255.255.255.0
            inet6 addr: fe80::20c:29ff:fee4:1d8/64  Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1080 errors:0 dropped:0 overruns:0 frame:0
          TX packets:890 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:89517 (87.4 KiB)  TX bytes:122147 (119.2 KiB)
          Interrupt:185 Base address:0x1400
    紅色標識部分即為IPV6地址。

1.2 查看服務監聽的IP中是否有IPv6格式的地址

[root@centos ~]# netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:613                 0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 :::80                       :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
udp        0      0 0.0.0.0:68                  0.0.0.0:*
udp        0      0 0.0.0.0:607                 0.0.0.0:*
udp        0      0 0.0.0.0:610                 0.0.0.0:*
udp        0      0 0.0.0.0:111                 0.0.0.0:*
udp        0      0 0.0.0.0:631                 0.0.0.0:*

1.3 使用lsmod|grep ipv6查看ipv6的模塊是否被加載

 

[root@centos ~]# lsmod|grep ipv6
ipv6                  243425  19

2 關閉/開啟IPV6
 

2.1 關閉IPV6

#vi /etc/modprobe.conf
添加下面兩行內容
alias net-pf-10 off
alias ipv6 off
保存退出,並且重新啟動系統。
重啟之后可以使用上面的三種方法去驗證IPv6支持是否已經被關閉。

2.2 開啟IPV6

IPv6是默認支持的,所以當你要重新開起IPv6支持時,將/etc/modprobe.conf中的兩條指令注釋掉就可以了。
 
 

現在的發行版,默認都是開啟IPv6,這個對我們來說,還不知道是什么年代的事情。

 

1:編輯/etc/sysconfig/network 

默認是yes,改成no

NETWORKING_IPV6=no

2:編輯 /etc/modprobe.conf 

如果沒有就添加下面兩行

alias net-pf-10 off

alias ipv6 off

3:停止服務

#chkconfig ip6tables off

4:重啟

http://hi.baidu.com/liuhangbin/blog/item/03807745528d579eb3b7dc51.html

5:檢測是否生效

http://hi.baidu.com/ugo5/blog/item/edb1b6ef3c9536c72e2e212f.html

檢測IPV6是否啟用

使用ifconfig查看自己的IP地址是否含有IPv6地址

          inet addr:192.168.198.128  Bcast:192.168.198.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee4:1d8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1080 errors:0 dropped:0 overruns:0 frame:0
          TX packets:890 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:89517 (87.4 KiB)  TX bytes:122147 (119.2 KiB)
          Interrupt:185 Base address:0x1400
    紅色標識部分即為IPV6地址。

 查看服務監聽的IP中是否有IPv6格式的地址

[root@centos ~]# netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:613                 0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 :::80                       :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
udp        0      0 0.0.0.0:68                  0.0.0.0:*
udp        0      0 0.0.0.0:607                 0.0.0.0:*
udp        0      0 0.0.0.0:610                 0.0.0.0:*
udp        0      0 0.0.0.0:111                 0.0.0.0:*
udp        0      0 0.0.0.0:631                 0.0.0.0:*

使用lsmod|grep ipv6查看ipv6的模塊是否被加載

 

[root@centos ~]# lsmod|grep ipv6
ipv6                  243425  19
 
 
 
 
問題:打開很多網站都要花很長時間解析域名 

解決方法: 

修改/etc/host.conf 
order hosts,bind   (有的這一句沒有!請手動添加后面一句) 
改成 
order bind,hosts 

引用
/etc/host.conf文件有三個東東可配置:   order  bind,hosts   multi  on   nospoof  on   “order  bind,hosts”指定主機名查詢順序,這里規定先使用DNS來解析域名,然后再查詢“/etc/hosts”文件(也可以相反)。   “multi  on”指定是否“/etc/hosts”文件中指定的主機可以有多個地址,擁有多個IP地址的主機一般稱為多穴主機。   “nospoof  on”指不允許對該服務器進行IP地址欺騙。IP欺騙是一種攻擊系統安全的手段,通過把IP地址偽裝成別的計算機,來取得其它計算機的信任。


若以上無效,請檢查 resolv.conf 中的DNS服務器設置是否正常。 
很多時候是使用DHCP自動獲取IP和DNS設置,但DHCP返回過來的DNS服務器,並不一定就可用。這一點CentOS沒Windows那么智能,因為很多情況下,DHCP會返回兩個DNS IP地址。當第一個IP對應的DNS服務器無響應(或者根本就不是DNS服務器)時,Windows會自動跳過,然后以后都會記住這個順序,從第二個DNS 進行解析。CentOS則總是從頭到尾,且在第一個DNS IP上浪費不少時間,請求不順后才會跳到第二個去,之后順利地解析到了域名的IP地址。因為,在CentOS中,第一個DNS IP的設置是相當重要的!請確保第一個DNS是最為可用、最快的IP,那么打開網站也就不會在域名解析上花費大量無謂的時間了。 
 
 
 
 
 

 

 

 

 

 

 
 
 
 
 
 

 

 

 

 

 

 

 

 

 

 

http://ipv6.xjtu.edu.cn/conf/linuxconf.asp


Linux 下的ipv6安裝配置

 
1: Linux內核版本2.2.0以后支持IPv6.  
2: 安裝ipv6協議
# modprobe ipv6
 
3: ipv6地址配置
如果是從純ipv6網絡環境或者是ipv4/ipv6雙棧環境中接入,並且采用自動獲取地址(默認),無需設置ipv6地址及網關。恭喜你,已經接入ipv6網絡了。可以使用ping6 命令察看ipv6網絡的連通性了。
 
4: 域名服務器DNS設置
可以使用支持ipv6的ipv4域名服務器,也可以使用ipv6的域名服務器
vi /etc/resolv.conf 
/* 添加域名服務器  */
nameserver 202.112.11.130
nameserver 2001:250:1001::xxxx
 
5: 您已經完成ipv6協議的配置。下面是幾個測試例子:
ip -6 addre show dev eth0 
查看自己的IPv6地址配置情況
nslookup 
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
> set type=any
> www.xjtu6.edu.cn
Server: 202.117.0.20
Address: 202.117.0.20#53

Non-authoritative answer:
www.xjtu6.edu.cn has AAAA address 2001:da8:af::ca75:10d

Authoritative answers can be found from:
xjtu6.edu.cn nameserver = DNS.xjtu6.edu.cn.
xjtu6.edu.cn nameserver = XANOC.xjtu6.edu.cn.
DNS.xjtu6.edu.cn has AAAA address 2001:da8:af::ca70:b82
DNS.xjtu6.edu.cn internet address = 202.112.11.130
XANOC.xjtu6.edu.cn internet address = 202.112.11.139
>


測試 域名解析是否正確

ping6 www.xjtu6.edn.cn
測試網絡聯通性

traceroute6 www.xjtu6.edu.cn
 
6: 下面是一些常用命令
ip -6 addre show dev eth0 
查看自己的IPv6地址配置情況
 

ip -6 addr add 2001:250:6000:10::15c/64 dev eth0
設定固定IPv6地址

 
ip -6 route add ::/0 via 2001:250:1001:7::1
設置默認網關(路由)
nslookup
/* 注意設定 set type=any */
域名解析
ping6 www.xjtu6.edn.cn
traceroute6 www.xjtu6.edu.cn
 
 
7:

更詳細的命令請參考Linux-IPv6-HOWTO

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM