編譯環境:ubuntu 14.04 x86_64
執行平台:imx6q平台
說明:系統中所有#開頭的字元行表示該行為linux命令列。
#工具鏈
##編譯dhcp
由於需要動態ip分配,因此在這裡編譯dhcp,獲取dpch伺服器,編譯命令如下:
#tar xvzf dhcp-4.2.0-p2.tar.gz
#echo ac_cv_file__dev_random=yes > config.cache
#./configure --prefix=/$/install --host=arm-linux-gnueabihf --cache-file=config.cache
#make && make install
當出現如下資訊"configuring bind export libraries for dhcp"並且進入後面的輸出資訊時,按下crt+c,停止編譯,並執行如下命令:
刪除所有makefile中的-werror編譯項
#find ./ -name makefile|xargs sed -i 's/\-werror/\ /g'
在bind/bind-9.7.1/lib/export/dns/makefile.in的163行將"$"替換成"$"
#sed -i '163s/$/$/g' bind/bind-9.7.1/lib/export/dns/makefile.in
在檔案bind/makefile 的48行將"./configure"替換成"build_cc=gcc ./configure --host=arm-linux-gnueabihf --with-randomdev=/dev/random"
#sed -i '48s/\.\/configure/build_cc=gcc \.\/configure \--host=arm\-linux\-gnueabihf \--with\-randomdev=\/dev\/random/g' bind/makefile
#make && make install
##編譯iptables
iptables依賴於libmnl libnftnl
#tar xvjf libmnl-1.0.3.tar.bz2 -c./
#./configure --prefix=$/install --host=arm-linux-gnueabihf cc=arm-linux-gnueabihf-gcc
#make && make install
###編譯libnftnl庫
core netfilter configuration 選擇如下配置:
netfilter connection tracking support
netfilter xtables support (required for ip_tables)
![linux核心新增nat支援](
brctl addbr br-lan//建立乙個虛擬網橋
ifconfig eth0 down
ifconfig eth1 down
ifconfig wlan0 down
iw dev wlan0 set 4addr on//不允許此步驟,無法將wlan0加入網橋
ifconfig br-lan 192.168.1.1 netmask 255.255.255.0 up
dhcpd br-lan
ifconfig eth0 up
ifconfig eth1 up
ifconfig wlan0 up
hostpad –d /etc/hostapd.conf -b
/etc/dhcod.conf
subnet 192.168.1.0 netmask 255.255.255.0
touch /var/db/dhcpd.leases
dhcpd wlan0 -pf /var/run/dhcpd.pid//動態分配ip位址
iptables -t nat -a postrouting -o wwan0 -j masquerade//設定nat**規則
linux下的網橋介紹
網橋用來連線不同的網段。使不同的網段能夠相互通訊,看起來很像三層的路由。它能夠有多個port,從而能夠將資料幀從乙個port複製到另乙個port。這裡要注意一點,linux下的網橋只能用於乙太網。來看下示意圖 其中乙個是bridge,乙個是route。網橋的主要工作是從輸入幀學習主機的位置,建立乙個...
linux中的網橋bridge
網橋 橋接與網橋 乙太網是一種共享網路傳輸介質的技術,在這種技術下,如果一台計算機傳送資料的時候,在同一物理網路介質上的計算機都需要接收,在接收後分析目的mac位址,如果是屬於目的mac位址和自己的mac位址相同便進行封裝提供給網路層,如果目的mac位址不是自己的mac位址,那麼就丟棄資料報。橋接的...
cJSON的構建和解析
一 cjson構建 define module num 3 int encode json cjson root cjson createobject 在根節點建立cjson物件 root cjson name list array cjson createarray 建立陣列物件 name lis...