• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            hdqqq

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              35 隨筆 :: 0 文章 :: 104 評論 :: 0 Trackbacks

            2014年9月2日 #

            自己組裝路由器
                很長時(shí)間沒有更新博客了。這段時(shí)間,很多智能化的新產(chǎn)品層出不窮,穿戴設(shè)
            備,智能路由器啥的,可以說,移動(dòng)互聯(lián)的時(shí)代正在到來。所以,本著人生苦短,
            及時(shí)折騰的原則,投身其中,也買了幾塊板子開始折騰。
            先上張圖:
            個(gè)人mini服務(wù)器。
                目前,我們的長城越來越強(qiáng)大,google可以算是歇菜了,現(xiàn)在查資料,基本上
            靠運(yùn)氣。寫個(gè)博客、圍脖啥的,稍微一不小心,就碰到敏感詞,都沒啥積極性了,
            去年,弄了塊pcduino的開發(fā)板,征用了兒子幾塊樂高積木,自己組了個(gè)服務(wù)器,
            上面博客、文件共享、代碼管理能帶的都帶上。空閑的時(shí)候,記記日記,貼貼照片,
            ,順帶文件備份啥的,自娛自樂。當(dāng)然,光靠開發(fā)板自帶的存儲(chǔ)空間是不夠的,需
            要附加存儲(chǔ)。考慮電源的功率問題和靜音要求,弄了個(gè)ssd加移動(dòng)硬盤盒。現(xiàn)在跑
            得不錯(cuò),已經(jīng)運(yùn)行了79天。板子買的較早,加上ssd的成本,在800 RMB 左右。
            第二張圖:
                去年開始,新的,基于ARM芯片可以玩的板子越來越多了。樹莓就不說了,
            cubieboard、swift board、beaglebone等,性能、接口等都比以前好。所以,又
            入手了一塊。 banana pi,1G內(nèi)存,關(guān)鍵是帶一個(gè)千兆網(wǎng)口,可以配合使用的系統(tǒng)
            也多。繼續(xù)折騰。再配塊便宜點(diǎn)的64G ssd,總價(jià)格在500 RMB 左右。
                相對來說,用這個(gè)開發(fā)板組個(gè)無線路由器還是很簡單的。找個(gè)支持的無線網(wǎng)卡,
            NAT,配上相關(guān)的軟件,很容易實(shí)現(xiàn),網(wǎng)上也有教程。
                但是路由器,如果僅僅實(shí)現(xiàn)NAT轉(zhuǎn)發(fā)上網(wǎng),qos等功能,其實(shí)還算是很簡單的。
            相比軟路由,上網(wǎng)行為管理,應(yīng)用層協(xié)議分析,協(xié)議過濾等功能,還是缺很多的。
                我想要的功能,就是記錄每個(gè)人上網(wǎng),什么時(shí)候,都上了些什么網(wǎng),做分析和
            統(tǒng)計(jì)。這個(gè)功能,在目前市面上100多的路由器中,因?yàn)橛布杀镜年P(guān)系,基本上
            都是沒有的。盡管刷openwrt系統(tǒng)的路由,如果配上外接存儲(chǔ),能把日志存下來,
            但因?yàn)閮?nèi)存有限,效果不好。
                但是,如果用linux做軟路由,內(nèi)存足夠的情況下,可以通過iptable+squid的
            方式實(shí)現(xiàn)。現(xiàn)在的開發(fā)板,內(nèi)存可以到1G,芯片都是雙核1.6G,性能已經(jīng)足夠強(qiáng)大。
            所以,本次折騰的目標(biāo)就是用開發(fā)板,實(shí)現(xiàn)透明代理,用以記錄所有人員的上網(wǎng)日
            志。
            一個(gè)網(wǎng)口,配合LINUX虛擬網(wǎng)卡,也可以實(shí)現(xiàn)路由功能。
            操作系統(tǒng):
            Lubuntu for arm,寫到SD卡上啟動(dòng)。
            接下來介紹步驟:
            1、LINUX啟動(dòng)數(shù)據(jù)包轉(zhuǎn)發(fā)。
            2、設(shè)置網(wǎng)卡eth0的ip地址,網(wǎng)關(guān)等。
            3、設(shè)置虛擬網(wǎng)卡,作為內(nèi)網(wǎng)網(wǎng)段。
               ifconfig eh0:0 192.168.0.1 netmask 255.255.255.0
               虛擬網(wǎng)卡不用設(shè)網(wǎng)關(guān)。
            4、安裝和設(shè)置dnsmasq,啟動(dòng)dns cache和dhcp服務(wù)
            5、安裝squid3,設(shè)置訪問規(guī)則和其他參數(shù),作為透明代理使用
               http_port 192.168.0.1:3128 transparent
               考慮日志存在SD卡上較慢,可以把日志存在內(nèi)存中。
            6、設(shè)置iptabes,啟動(dòng)NAT和端口轉(zhuǎn)發(fā)
               iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
               iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j
            REDIRECT --to-ports 3128
            其他說明:
                因?yàn)槭且粋€(gè)網(wǎng)口做路由,所以需要一個(gè)HUB或交換機(jī),連接上行網(wǎng)絡(luò)和內(nèi)網(wǎng)。
            吞吐量測試:
            使用一臺(tái)NAS模擬外網(wǎng)機(jī)器,計(jì)算機(jī)模擬內(nèi)網(wǎng),都接千兆交換機(jī)。拷貝文件測試。
            4G數(shù)據(jù)文件,路由工作在千兆雙工模式
            下行:
            20MB/s 左右,系統(tǒng)負(fù)載峰值0.09左右
            上行:
            16.5MB/s 左右,系統(tǒng)負(fù)載峰值0.26左右。
            日志分析:
                squid的日志,有現(xiàn)成工具進(jìn)行分析。sarg,安裝后,指定日志文件和輸出路
            徑就可以了。
            后記:
                因?yàn)楣β屎挽o音的需要,硬盤選了低端的64G SSD,190左右。對比前段時(shí)間比
            較火的小米路由,缺雙頻的無線WIFI。但內(nèi)存相對來說高一點(diǎn),加上軟件豐富,可
            玩性更高一些。
            posted @ 2014-09-02 20:37 hdqqq 閱讀(3217) | 評論 (0)編輯 收藏

            2012年4月7日 #

                UBUNTU系統(tǒng)缺省安裝后,DNS查詢很慢,網(wǎng)上大多數(shù)的解決辦法是改DNS服務(wù)器和自己安裝dns服務(wù),像dnsmaq和bind服務(wù)。用fedora就沒有這個(gè)問題。實(shí)際的解決辦法是,修改 /etc/nsswitch.conf文件,把其中的 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4  修改為 hosts: files dns

            posted @ 2012-04-07 09:52 hdqqq 閱讀(1190) | 評論 (0)編輯 收藏

            2011年3月21日 #

                 摘要: cygwin putty vim 編輯器  閱讀全文
            posted @ 2011-03-21 17:17 hdqqq 閱讀(6418) | 評論 (0)編輯 收藏

            2010年12月7日 #

            VIM實(shí)現(xiàn)自動(dòng)添加新行

                     emacs在編輯代碼時(shí),有個(gè)功能,在輸入{};時(shí)可以自動(dòng)追加新的一行。減少敲回車的次數(shù)。將下面的代碼加入VIM的配置文件后,可以在編輯c,cpp,h后綴的文件時(shí),也同樣有這個(gè)功能。


            function Find_for()
                
            if search('^\s*[f]or''b', line('.'))
                    
            return ""
                endif
             
                
            if search('\"''b', line('.'))
                    
            if searchpair('\"''''\"''b''', line('.'))
                        
            return "\r"
                    
            else
                        
            return ""
                    endif
                endif
             
                
            if search('\''''b', line('.'))
                    
            if searchpair('\'''';''\''''b''',  line('.'))
                        
            return "\r"
                    
            else
                        
            return ""
                    endif
                endif
             
                
            return "\r"
            endfunction
             
            autocmd BufReadPost 
            *.{c,cpp,h} inoremap <expr><buffer> {      '{'."\r"
            autocmd BufReadPost 
            *.{c,cpp,h} inoremap <expr><buffer> }      '}'."\r"
            autocmd BufReadPost 
            *.{c,cpp,h} inoremap <expr><buffer> ;  ';'.Find_for()

                 缺點(diǎn),對于“和‘的匹配沒有重復(fù),嵌套檢測的功能。在某些情況下,會(huì)導(dǎo)致自動(dòng)回車。
               
                 如:
                  std::cout << "hello world" << "second ;
                 有興趣的話,可以再改進(jìn)一下。

            posted @ 2010-12-07 17:59 hdqqq 閱讀(1578) | 評論 (0)編輯 收藏

            2010年9月25日 #

            NERD_tree是vim的一個(gè)插件,支持樹形顯示目錄和文件,此插件支持文件和隱藏文件過濾,可以設(shè)置一個(gè)文件過濾的表達(dá)式列表,來阻止NERD_tree顯示這些文件。

            但是在有些情況下,想要顯示某些特定后綴的文件,如一個(gè)h頭文件和cpp代碼文件混合的目錄,想只顯示cpp文件,NERD_tree的過濾就顯得有些不方便,因?yàn)樵瓉韺?shí)現(xiàn)的是排除過濾。

            因此,對NERD_tree做了些改進(jìn),可以過濾顯示某種類型的文件。

            使用方法:

            將光標(biāo)移動(dòng)到某個(gè)文件:

            l   只顯示此類后綴的文件
            L   恢復(fù)顯示所有文件

            安裝方法:

            filter.vim      復(fù)制到vim插件目錄的nerdtree_plugin 目錄下
            NERD_tree.vim   替換原來的plugin目錄下的文件

            下載地址:

            http://www.shnenglu.com/Files/hdqqq/nerd_tree_improve.zip


            posted @ 2010-09-25 10:49 hdqqq 閱讀(1377) | 評論 (0)編輯 收藏

            2009年11月20日 #

              自己用模板實(shí)現(xiàn)的紅黑樹,算是對紅黑樹有了一個(gè)深入的了解.
              測試代碼如下:
            #include <iostream>
            #include 
            "rb_tree.h"

            void test()
            {
                rb_tree
            <intint> ltree;
                std::cout 
            << "the tree is empty: " << (ltree.empty() ? "true" : "false"<< std::endl;

                
            for(int i = 0; i < 15; i++) {
                    ltree.insert(i, i);
                }
                ltree.show_tree();
            }

            int main(int argc, char* argv[])
            {
                test();
                
            return 0;
            }
              紅黑樹的代碼位置:
              http://www.shnenglu.com/Files/hdqqq/rb_tree.zip
            posted @ 2009-11-20 09:53 hdqqq 閱讀(1196) | 評論 (0)編輯 收藏

            2008年7月14日 #

                 摘要: 界面開發(fā) 自定義 list control  閱讀全文
            posted @ 2008-07-14 12:05 hdqqq 閱讀(3558) | 評論 (4)編輯 收藏

            2008年6月28日 #

            mysqldump 是mysql 用戶導(dǎo)出數(shù)據(jù)的工具,可以把mysql的數(shù)據(jù)庫導(dǎo)出成sql文件.也可以通過管道直接把數(shù)據(jù)重定向到mysql.

            如在兩臺(tái)機(jī)器間導(dǎo)數(shù)據(jù)可以

            mysqldump -h host1 --databases db | mysql -h host2

            如果導(dǎo)出的數(shù)據(jù)庫很大,就需要在mysqldump 上加 --quick 參數(shù).因?yàn)閙ysqldump缺省的操作是先導(dǎo)出所有數(shù)據(jù),然后寫入管道,如果數(shù)據(jù)庫很大的話,會(huì)因?yàn)閮?nèi)存不足,出錯(cuò).

            mysqldump還有其它參數(shù),如果是在數(shù)據(jù)庫之間追加數(shù)據(jù), 則需要加 --skip-opt, --no-create-info 等參數(shù),其中和--skip-opt和--quick同時(shí)使用,一定要把 --quick 放在 --skip-opt參數(shù)后面,否則,會(huì)被覆蓋.

            posted @ 2008-06-28 06:10 hdqqq 閱讀(1356) | 評論 (0)編輯 收藏

            2008年5月9日 #

                 摘要: 一個(gè)簡單的網(wǎng)絡(luò)爬蟲  閱讀全文
            posted @ 2008-05-09 14:09 hdqqq 閱讀(21710) | 評論 (7)編輯 收藏

            2008年4月3日 #

            最近在網(wǎng)上爬東西,很多網(wǎng)頁需要處理,自己寫了個(gè)html 到 text 轉(zhuǎn)換的小工具。

            dos 命令行下運(yùn)行,可同時(shí)處理多個(gè)

            html2txt.exe  *.html



            下載地址

            http://www.shnenglu.com/Files/hdqqq/html2txt.rar


            posted @ 2008-04-03 11:24 hdqqq 閱讀(1566) | 評論 (7)編輯 收藏

            僅列出標(biāo)題  下一頁
            久久精品a亚洲国产v高清不卡| 国内精品久久久久久麻豆| 久久精品国产亚洲一区二区三区| 精品乱码久久久久久久| 亚洲国产精品无码久久久不卡| 欧美午夜A∨大片久久 | 国产精久久一区二区三区| 国产精品9999久久久久| 亚洲欧美日韩久久精品第一区 | 久久精品免费大片国产大片| 青青草原综合久久| 国产精品丝袜久久久久久不卡| 一本色道久久88加勒比—综合| 2021国产成人精品久久| 精品久久久久久无码免费| 94久久国产乱子伦精品免费| 亚洲综合婷婷久久| 色诱久久av| 久久大香香蕉国产| 国产精品女同一区二区久久| 久久精品亚洲乱码伦伦中文 | 久久亚洲天堂| 久久精品国产亚洲αv忘忧草 | 国产精品久久久久影院色| 久久伊人精品青青草原高清| 久久精品无码一区二区app| 亚洲国产成人久久笫一页| 麻豆一区二区99久久久久| 久久精品国产精品国产精品污 | 久久久久亚洲av无码专区| 国产福利电影一区二区三区,免费久久久久久久精 | 久久久亚洲精品蜜桃臀| 亚洲国产成人久久综合碰| 亚洲AV日韩精品久久久久久久| 伊人久久五月天| 久久香蕉国产线看观看精品yw | 国产精品久久久久AV福利动漫| 国产香蕉97碰碰久久人人| 亚洲精品乱码久久久久久久久久久久 | 精品久久久久久亚洲| 精品久久久久一区二区三区|