2014年12月31日 星期三

FreeBSD 更換IPv6設定及透過ifconfig移除舊有IPv6位址

在FreeBSD上更改IPv6 IP,在不重新啟動系統的狀態下,會產生更改IPv6設定後,舊有的IPv6位址還留在系統上

例如:

原本IPv6 為::6 要改為::4

做法
1.修改/etc/rc.conf設定
2.透過# /etc/netstart restart 重新載入IP設定(不重開機的做法)
3.執行下列指令會看到舊的IPv6位址 ::6
#ifconfig | grep inet6

        inet6 fe80::226:55ff:fe7d:20b4%bce0 prefixlen 64 scopeid 0x1
        inet6 2001:288:7288:1::6 prefixlen 64
        inet6 2001:288:7288:1::4 prefixlen 64
 4.透過 下列指令刪除舊有的IPv6位址
  #ifconfig bce0 inet6 2001:288:7288:1::6/64 delete

2014年11月16日 星期日

Firefox 常用外掛程式

Adblock 阻擋廣告工具
FireGustures 滑鼠手勢
Super Drag 拖拽瀏覽
DragIT 不建議用這套,該軟體也有手勢功能,會與FireGustures衝突(不是當掉)
Google Translator for Firefox 翻譯工具

2014年11月8日 星期六

CentOS 7 初始化設定

yum localinstall --nogpgcheck http://mirrors.yun-idc.com/epel/7/x86_64/e/epel # yum localinstall --nogpgcheck http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm # yum clean all # yum update

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月11日 星期三

Windows XP出現NTLDR is missing

Windows XP出現NTLDR is missing 解決方式如下: 1. 放入Windows XP安裝光碟 2. 碟自動執行至停止便會出現三個選擇,按〔R〕. 3. 選擇鍵盤 ,選中文 3. 詢問系統是否在 C:\Windows> 按下Enter後,系統便自動重開機

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

2014年6月4日 星期三

Linux遠端桌面至Windows如何退出全螢幕模式

不管是Ubnutu或CentOS都有提供遠端桌面用戶端程式 Ubuntu 是 Terminal Server Client CentOS 是 終端伺服器客戶端 跳出全螢幕方式 : Ctrl + Alt + Enter

2014年5月27日 星期二

校時伺服器清單

中華電信研究所時間與頻率國家標準實驗室提供之時間校正伺服器如下: tock.stdtime.gov.tw watch.stdtime.gov.tw time.stdtime.gov.tw (支援IPv6) clock.stdtime.gov.tw tick.stdtime.gov.tw

2014年5月23日 星期五

CentOS 6.5 系統、服務、網路、防火牆及系統安全性設定工具

在CentOS還沒有minimal安裝版本時,在console畫面中,只要執行setpu就有系統相關的設定工具, 因為這些都已經預先安裝好了,若想使用則需自行安裝

CentOS 6.5 查詢及修改主機名稱

查詢主機名稱 1. 直接輸入指令
# hostname 
2. 查看/proc/sys/kernel/hostname
# cat /proc/sys/kernel/hostname
3.使用sysctl kernel.hostname
# sysctl kernel.hostname
修改主機名稱 1. 更改主機名稱,但重開機後即消失
# hostname myserver1
2. 修改network設定檔中HOSTNAME部份
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=lab.bugu.idv.tw金

2014年5月19日 星期一

CentOS 6.5 核心升級至 2.6.32-431.17.1.el6.x86_64 在Windows Server 2008 R2出現的錯誤訊息



hv_vmbus: probe failed for device vmbus_0_11 (-22)
hv_util: probe of vmbus_0_11 failed with error -22
hv_vmbus: child device vmbus_0_11 registered

上述的狀況,在kernel升級至 2.6.32-431.17.1.el6.x86_64 就會發生,目前無解

但在Windows 8.1 的hyper-v環境到是沒有問題(目前為止).


# modinfo hv_vmbus
filename:       /lib/modules/2.6.32-431.17.1.el6.x86_64/kernel/drivers/hv/hv_vmbus.ko
version:        3.1
license:        GPL
srcversion:     3E7D7FE31577CC7E47EA89E
alias:          acpi*:VMBus:*
alias:          acpi*:VMBUS:*
depends:       
vermagic:       2.6.32-431.17.1.el6.x86_64 SMP mod_unload modversions



# dmesg | grep hv_
hv_vmbus: Hyper-V Host Build:7601-6.1-17-0.17939; Vmbus version:1.1
hv_vmbus: child device vmbus_0_1 registered
hv_vmbus: child device vmbus_0_2 registered
hv_vmbus: child device vmbus_0_3 registered
hv_vmbus: child device vmbus_0_4 registered
hv_vmbus: child device vmbus_0_5 registered
hv_vmbus: child device vmbus_0_6 registered
hv_vmbus: child device vmbus_0_7 registered
hv_vmbus: child device vmbus_0_8 registered
hv_vmbus: child device vmbus_0_9 registered
hv_vmbus: child device vmbus_0_10 registered
hv_vmbus: registering driver hv_storvsc
hv_vmbus: registering driver hyperv_fb
hv_vmbus: registering driver hid_hyperv
hv_utils: Registering HyperV Utility Driver
hv_vmbus: registering driver hv_util
hv_vmbus: child device vmbus_0_4 unregistered
hv_vmbus: registering driver hv_netvsc
hv_netvsc: hv_netvsc channel opened successfully
hv_netvsc vmbus_0_9: Device MAC 00:15:5d:3c:12:18 link state up
hv_vmbus: probe failed for device vmbus_0_11 (-22)
hv_util: probe of vmbus_0_11 failed with error -22
hv_vmbus: child device vmbus_0_11 registered

在CentOS 6.5中如何關閉Alt+Ctrl+Delete重新開機功能

在有KVM的的環境,因同一台螢幕鍵盤滑鼠分別介接許多不同偏業系統,有Windows有Linux,使用Windows的人習慣會按Alt+Ctrl+Delete,若當下KVM剛好切換至Linux系統,就有可能讓系統重新啟動,關閉方式如下:

Linux 中的設定位置通常是在/etc/inittab

但在CentOS 6.5中,設定位置是在 /etc/init/control-alt-delete.conf

start on control-alt-delete

#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

完成後重新載入設定
init q

2014年5月18日 星期日

CentOS 6 網卡設定檔範例

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

HWADDR=0a:0c:2d:74:5c:34

NETMASK=255.255.255.0

IPADDR=192.168.10.8

GATEWAY=192.168.10253



DNS1=168.95.1.1

DNS2=8.8.8.8

ps: 在CentOS 6.5中,可以偷懶直將裝DNS設定於ifcfg-ethx中,重新啟動網卡,DNS的設定會自動寫入至/etc/resolv.conf中

啟用IPv6
# IPv6 Configure.

IPV6ADDR=2001:288:7600:1::8

 IPV6_DEFAULTGW=2001:288:7600:1::FFFE

 IPV6INIT=yes

另外也可以透過安裝下列套件在終端機介面上,提供圖文介面來設定網路

yum install system-config-network-tui

CentOS 6.5 安裝xfce桌面環境

安裝EPEL(Extra Packages for Enterprise Linux) 套件庫
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6.8.noarch.rpm
安裝Xfce # yum groupinstall Xfce 安裝完成後必須重開機 # reboot | init 6 登入時,在下面即可選擇登入環境 其他指令 在不重開機下,直接回到登入畫面 (runlevel 5 without reboot,run below command) # /sbin/telinit 5 啟動xfce環境 # startxfce4

2014年5月17日 星期六

CentOS 6 網路常用除錯指令

# dmesg | grep hv_netvsc (查看開機時是否有找到此網卡。) # dhclient eth0 (重新取得dhcp。)

CentOS 6.5 修改網卡對應名稱 eth1 to eth0

在虛擬化環境執行CentOS ,會因虛擬環境提供的網卡異動,而造成網路無法啟動, 最常見的就是網卡MAC位置更換. 例如: 將Guest OS移至另一個實體機上,網卡編號異動 linux Kernel 2.6 之後已經改用 udev 來管理網路介面名稱及硬體的對應 設定檔位置在 /etc/udev/rules.d/70-persistent-net.rule
# net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:5d:00:65:00", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:5d:02:84:04", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

原本虛擬環境提供的網卡MAC是"00:15:5d:00:65:00",現在改為"00:15:5d:02:84:04" , 但在設定檔中,新的網卡MAC "00:15:5d:02:84:04"對應的網路介面名稱為et1,此時若舊的已不使用,要將新的eth1 變eth0 ,只要將舊的刪除並將eth1改eth0即可。
# net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:5d:02:84:04", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
此時建議檢查一下/etc/sysconfig/network-scripts/if-eth0的MAC位置是否正確 也可以透過system-config-network程式來重新設定網卡 若沒有該程式可透過 yum install system-config-network-tui 安裝

2014年4月8日 星期二

認識防水、防塵標示

產品規格介紹中常見IP55/IP57 ,這些代表什麼意思呢??


IP 代表 Ingress Protection , IP等級分為2個位數, 以IPXY做解釋:
X 代表是防塵 級數是0~6
Y代表是防水 級數是0~8
數字愈高防護性越好.

X表示
 0:沒有保護
1:防止大的固體侵入
2:防止中等大小的固體侵入
3:防止小固體進入侵入
4:防止物體大於1mm的固體進入
5:防止有害的粉塵堆積
6:完全防止粉塵進入

Y表示
 0:沒有保護
1:水滴滴入到外殼無影響
2:當外殼傾斜到15度時,水滴滴入到外殼無影響
3:水或雨水從60度角落到外殼上無影響
4:液體由任何方向潑到外殼沒有傷害影響
5:用水沖洗無任何傷害
6:可用於船艙內的環境
7:可於短時間內耐浸水(1m)
8:於一定壓力下長時間浸水

2014年4月6日 星期日

Clone CentOS VHD 網路設定方式

將clone、複制或複制的出來的VHD重新匯入虛擬機後,必須更新網卡設定的MAC位置及UUID,先查詢Hyper-v提供的網卡MAC,

由於採用udev的管理方式

需編輯 /etc/udev/rules.d/70-persistent-net.rules

將原先舊的網卡設定移除

將NAME="eth1" 改為 NAME="eth0"

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
將新的Hyper-v環境的網卡編號更新於ifcfg-eth0檔案中
並更改IP相關位置
移除ifcfg-eth0設定檔中的uuid

產生uuid方式

# uuidgen



重新啟啟動系統
# reboot
重新啟動網上若出現下列問題,則重新啟動系統一次
/etc/sysconfig/network-scripts/ifup-eth: Device eth0 does not seem to be present, delaying initialization.

2014年4月5日 星期六

CentOS中 yum常見的幾個指令



yum check-update         # 檢查能更新的套件有那些

 yum info                         #列出所有套件的相關資訊


yum info updates          #列出所有可以更新的套件資訊

yum info installed        #列出所有已安裝的套件資訊

yum clean                      #清除安裝下載時存放在/var/cache/yum目錄下的暫套件原始檔



yum search       #搜尋所有相關的套件


yum info
#列出所有套件的相關資訊,若在info後接上套件名稱,則可單讀該套件相關資訊。
如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來


yum info extras
#列出所有已安裝但不在 Yum Repository 內的套件資訊


yum repolist 出所有使用的套件庫名稱

yum -v repolist | less 列出所有使用的套件庫詳細資訊,如最後的更新時間及網址等資訊.


一般在安裝時,會看到另外2個參數
--disablerepo="*"  停用所有其他的套件庫
 --enablerepo="epel" 只使用 EPEL套件庫

若未指定, 一般是直接安裝, 如 yum install ngix


列出所有 EPEL 中的套件

yum --disablerepo="*" --enablerepo="epel" list available

重啟wifi - Restart wifi for DD-WRT firmware

使用DIR-615 rev C2 運作DD-WRT韌體時,常發生一陣子收不到wifi SSID , 暫時解決的方式就是telnet | ssh 進入AP,將ath0 介面重新啟動。


指令
ifconfig ath0 down 
ifconfig ath0 up

2014年4月3日 星期四

DD-WRT for DIR-615 VPN 設定



檢查來檢查去,檢查到鬼打牆,原來是IP配發的範圍設錯了,導致VPN服務一直無法啟動.
記錄一下設定,免的以後又忘了。


2014年3月30日 星期日

修正CentOS ssh登入慢的問題

在CentOS 6.5 環境中,從遠端透過sshd登入centos主機,要等一段時間才會出現輸入密碼的畫面

主要有2個選項造成

UseDNS no|yes   當啟動時,主機會嘗試做來源IP的解析。


GSSAPIAuthentication no | yes

當啟動時,SSH會優先使用GSS API的方式做驗證,由於主機
並沒有做相關的驗證,故要等到嘗試驗證失敗後,才改為SSH
本身的驗證方式.


2014年3月29日 星期六

關閉autoconfigre 的ipv6位置



在CenOS中,當啟動IPv6後,預設會有一組透過路由器的RA取得的一組staeless autoconfigure IP,當侵服器對外連線時,無法確認是用那個IPv6位址去連線,增加日後除錯的困擾,若要將自動產生的IPv6位址移除,方式如下

# vi /etc/sysconfig/network

加入
IPV6_AUTOCONF=no

解決ssh登入慢問題



在sshd_config加入下列設定,登入時不做DNS檢查

UseDNS no
 
 

變更Hyper-V上的CentOS 6.5 console 螢幕解析度

一般修改console解析度,會在grub載入kernel的選項中加入 vga=789

不過這樣的方式是針對採用vesa_fb驅動程式環境,並不適用Hyper-V上的CentOS,
主要是CentOS 6.4 6.5 已內建Hyper-v環境下相關的驅動程式,顥示介面用的是hyper_fb,
如果加入vga=xxx會導致開機失敗 ,需改用 video=hyperv_fb:800x600 參數進行切換

編輯 /etc/grup.conf

在 口 rhgb quit後方加入下列設定
video=hyperv_fb:800x600