• <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++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              35 隨筆 :: 0 文章 :: 104 評(píng)論 :: 0 Trackbacks

            #

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

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

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

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

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

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

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

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

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

            使用方法:

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

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

            安裝方法:

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

            下載地址:

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


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

              自己用模板實(shí)現(xiàn)的紅黑樹(shù),算是對(duì)紅黑樹(shù)有了一個(gè)深入的了解.
              測(cè)試代碼如下:
            #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;
            }
              紅黑樹(shù)的代碼位置:
              http://m.shnenglu.com/Files/hdqqq/rb_tree.zip
            posted @ 2009-11-20 09:53 hdqqq 閱讀(1205) | 評(píng)論 (0)編輯 收藏

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

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

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

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

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

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

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

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

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

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

            html2txt.exe  *.html



            下載地址

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


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

            僅列出標(biāo)題
            共4頁(yè): 1 2 3 4 
            伊人热人久久中文字幕| 久久久久av无码免费网| 久久精品国产精品青草| 久久中文娱乐网| 伊人情人综合成人久久网小说| 国内精品久久久久久久久电影网 | 久久久久久国产精品无码超碰| 久久99精品久久久久久| 久久综合色老色| 狠狠88综合久久久久综合网 | 亚洲AV乱码久久精品蜜桃| 91精品日韩人妻无码久久不卡| 久久天天躁狠狠躁夜夜躁2014| 色综合色天天久久婷婷基地| 日韩欧美亚洲综合久久| 久久国产高清一区二区三区| 亚洲AV成人无码久久精品老人| 久久久久亚洲AV成人网人人软件| 国产精品美女久久久久网| 亚洲欧美日韩久久精品第一区| 韩国三级中文字幕hd久久精品| 久久精品国产亚洲av高清漫画| 久久久久久久综合狠狠综合| 久久精品国产国产精品四凭| 青青青国产精品国产精品久久久久| 国产麻豆精品久久一二三| 亚洲乱码精品久久久久.. | 蜜桃麻豆www久久| 精品久久久久久| 国产精品禁18久久久夂久| 久久婷婷国产综合精品| 亚洲AV无码久久精品成人| 亚洲精品无码成人片久久| 亚洲综合熟女久久久30p| 欧美精品国产综合久久| 国产精品久久婷婷六月丁香| 久久精品视频一| 精品人妻伦九区久久AAA片69| 中文字幕乱码人妻无码久久| 精品人妻伦九区久久AAA片69| 欧美黑人又粗又大久久久|