如何開啟 IP forwarding 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 12月 09, 2011 echo 1 > /proc/sys/net/ipv4/ip_forward 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
How to use ebtables: ebtable 的小筆記 6月 15, 2012 這篇算是小筆記,主要在紀錄一些使用 ebtable 上的小問題: ebtable 主要分成三個 Main Table, 分別是 Filter, NAT 與 broute. 坊間有很多關於 ebtable 的資料,在這裡就不多說他是什麼東西了。 跟 iptable 一樣,ebtable 也有自己的 command 可以用,像是: 1. 分別列出 Filter, NAT, broute table. (我被這個搞好久...) ebtables -L ebtables -t nat -L ebtables -t broute -L 2. Create new chains: ebtables -t filter -N QOS ebtables -t nat -N MACFilter ebtables -t broute -N IGMP 3. Add new rules: ebtables -t filter -A FORWARD -j QOS ebtables -t nat -A PREROUTING -i eth0 -j MACFilter 其他像是 -D: delete rule, -F: Flush rule...等等,請參閱相關資料。 Download Package: http://ebtables.sourceforge.net/ Man page of ebtable: http://ebtables.sourceforge.net/misc/ebtables-man.html 閱讀完整內容
解決 VirtualBox 無法開啟 NS_ERROR_FAILURE (0x80004005) 9月 27, 2012 在亂搞之後,我的 VirtualBox 也一度沒辦法開啟過,以下簡單紀錄下我的解決方法: 問題紀錄(當然 VM 名稱不是這個) [ root@localhost ~ ] # vboxmanage startvm <vmname> Waiting for VM "<vmname>" to power on... VBoxManage: error: The virtual machine '<vmname>' has terminated unexpectedly during startup with exit code 0 VBoxManage: error: Details: code NS_ERROR_FAILURE ( 0x80004005 ) , component Machine, interface IMachine, callee 參考了網路上的解法之後,大概是這樣: 1. 需要重新去掛載 VirtualBox 的 module: /etc/init.d/vboxdrv setup 2. 在 console 下重新執行一次 VM ,看看能不能動 vboxmanage startvm <vmname> 3. 再利用 console 把 vm 關掉,並重新開機 VBoxManage controlvm <vmname> poweroff 4. 然後再開就不會發生問題了。 網路上的偏方與解法還不少,有的人建議要把 ~/.VirtualBox 底下的 .xml 檔刪除掉,可是這樣一來會造成 之前建立好的 VM 會消失不見(除非你剛灌好,不然就...) 參考看看吧~ PS. 絕對不可以手殘亂去刪除 SnapShot 資料夾底下的資料,不然... 參考資料: http://blog.csdn.net/t0nsha/article/details/7482986 http://forum.ubuntu.org.cn/viewtopic.php?f=65&t=204736 http://passover.blog.51cto.com/2431658/73... 閱讀完整內容
如何在 Linux Kernel 下偵測網路的連線狀態? 8月 26, 2014 借用一下參考資料的標題。 今天如果想要在 Linux Kernel 內得知實體網路的 Link Status,只需要去 /sys/class/net/ 然後直接去 cat 這兩個 node,以 eth0 來當範例。 這是網路線有插入的狀況: eth0/carrier:1 eth0/operstate:unknown 這是網路線拔除的狀況: eth0/carrier:0 eth0/operstate:down 當再次插入時,原本的 carrier 會從 unknown 變成 1: eth0/operstate:up eth0/carrier:1 不然直接去 grep eth0/ 底下的東西也可以: grep "" eth0/* 很遺憾的是,在 user level 內支援的 inotify,在 kernel level 是不能用的, 所以要借助 socket 的力量,直接在 ethernet driver 內使用 sock_create_kern 來 create socket, 然後透過 connect 與 sock_sendmsg 將要傳的資料填寫在 buf 內就好。(如果要傳 struct 就 &struct) 參考資料: http://stackoverflow.com/questions/808560/how-to-detect-the-physical-connected-state-of-a-network-cable-connector http://stackoverflow.com/questions/10340145/get-event-for-nic-ethernet-card-link-status-on-linux 閱讀完整內容
留言
張貼留言