顯示具有 windows 標籤的文章。 顯示所有文章
顯示具有 windows 標籤的文章。 顯示所有文章

2015年7月2日 星期四

關閉Windows Server 2008 網卡設定中不必要的通道介面

網管人員常會透過ifconfig /all 查來看目前系統的IP設定狀況,
但每次只要在有啟用IPv6的電腦,指令輸入後,就會有一長串的
介面,不易觀看看,既然沒用到就關了它吧。

微軟有提供快速關閉的Fix執行檔,也有手動設定說明,
參考 
How to disable IPv6 or its components in Windows
https://support.microsoft.com/en-us/kb/929852


關閉 6to4 & Teredo adapters
 netsh int 6to4 set state state=disabled
 netsh int teredo set state type=disabled

2014年8月6日 星期三

清除本機DNS暫存(DNS cache)

在做網域名稱除錯時,有時明明已在經DNS主機上修改了網域名稱對應的記錄,但在自己的電腦瀏覽網域或網址,還是連線到舊的IP位址. 通常會發生樣的狀況,大都是使用者指定的DNS主機上的解析資料都還是舊的,未到達網域權威主機設定的TTL到期時間,因此除時間到, 否則該DNS主機並不會再重新去詢該網域的權威主機取得最近的網域對應記錄,另一個問題可能是本機的DNS Cache也有可能造成,清除 本機的DNS Cache方式如下:

 Windows :
c:\> ipconfig /flushdns

 Linux Ubuntu:
  /etc/init.d/nscd restart

2014年6月5日 星期四

Windows中存在大量CLOSE_WAIT

CLOSE_WAIT狀態的生成原因 如果是CLIENT端主動斷掉當前連接的話,那麼雙方關閉這個TCP連接共需要四個p: Client ---> FIN ---> Server ## Client 送出 Fin封包給Server Client <--- ACK <--- Server ## Server 收到結束請求後,會送出確認結束封包給Client端 這時候Client端處於FIN_WAIT_2狀態;而Server 程序處於CLOSE_WAIT狀態。 程序: Client ---> FIN ---> Server 狀態: FIN_WAIT_2 //CLIENT送出結束請求封包FIN, 等待Server的結束請求ACK封包 這時Server 發送FIN給Client,Server 就成為LAST_ACK狀態。 程序: Client <--- ACK <--- Server 狀態: FIN_WAIT_2 LAST_ACK // Server 回覆CLIENT端的結束請求ACK封包 Client回應了ACK,那麼Server 才會成為CLOSED狀態。 程序: Client ---> ACK ---> Server 狀態: CLOSED // CLIENT 回覆SERVER ACK封包 Linux調效方式 預設設定 tcp_fin_timeout 180   tcp_keepalive_time 7200   tcp_window_scaling 1   tcp_sack 1   tcp_timestamps 1 建議值 修改方式1 編輯 /etc/sysctl.conf ,修改下列設定值: # Decrease the time default value for tcp_fin_timeout connection   net.ipv4.tcp_fin_timeout = 30   # Decrease the time default value for tcp_keepalive_time connection   net.ipv4.tcp_keepalive_time = 1800   # Turn off tcp_window_scaling   net.ipv4.tcp_window_scaling = 0   # Turn off the tcp_sack   net.ipv4.tcp_sack = 0   #Turn off tcp_timestamps   net.ipv4.tcp_timestamps = 0 修改方式2 編輯 /etc/rc.local , 加入下列設定 :   echo "30">/proc/sys/net/ipv4/tcp_fin_timeout   echo "1800">/proc/sys/net/ipv4/tcp_keepalive_time   echo "0">/proc/sys/net/ipv4/tcp_window_scaling   echo "0">/proc/sys/net/ipv4/tcp_sack   echo "0">/proc/sys/net/ipv4/tcp_timestamps 上述的設定能增加平台可處理的 TCP/IP 連接的數量,縮短服務器在終止失效連接前的等待時間. 參數說明: net.ipv4.tcp_syncookies = 1 表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN攻擊,默認為0,表示關閉;   net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認為0,表示關閉;   net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉。   net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間。   net.ipv4.tcp_keepalive_time = 1200 表示當keepalive起用的時候,TCP發送keepalive消息的頻度。缺省是2小時,改為20分鐘。   net.ipv4.ip_local_port_range = 1024 65000 表示用於向外連接的端口範圍。缺省情況下很小:32768到61000,改為1024到65000。   net.ipv4.tcp_max_syn_backlog = 8192 表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網絡連接數。   net.ipv4.tcp_max_tw_buckets = 5000 表示系統同時保持TIME_WAIT套接字的最大數量,如果超過這個數字,TIME_WAIT套接字將立刻被清除並打印警告信息。默認為180000,改為5000。對於Apache、Nginx等服務器,上幾行的參數可以很好地減少TIME_WAIT套接字數量,但是對於Squid,效果卻不大。此項參數可以控制TIME_WAIT套接字的最大數量,避免Squid服務器被大量的TIME_WAIT套接字拖死。   執行以下命令使配置生效: /sbin/sysctl -p http://blogs.msdn.com/b/spike/archive/2008/10/09/tcp-connections-hanging-in-the-close-wait-and-fin-wait-2-state.aspx