1. 程式人生 > >讓linux下無線網絡卡變身隨身wifi----iptables移植--結束

讓linux下無線網絡卡變身隨身wifi----iptables移植--結束

前面已經能夠連線上熱點了,ip也能獲取到了,可是,上不了網,為什麼呢??你會發現只有上傳的資料,沒有下載的資料,那是因為我們沒有做地址轉換,當資料包經過路由器的時候,他的MAC地址是會變得哦(這個文章有空會寫寫,最近不知道這麼的,突然喜歡上了寫部落格) 來看看地址轉換 使用iptables就OK 了 平時很少看到bz2的壓縮包,所以呢,解壓的朋友們小心了 #tar  jxvf iptables-1.4.20.tar.bz2 因為iptables涉及到的庫比較多,所以咱們先建立一個資料夾,待會把iptables安裝帶這個位置,然後整個資料夾一起拷貝到開發板就OK了 mkdir /iptables/    //我直接在根目錄下建立了 進入剛剛解壓的目錄下 #./configure --prefix=/iptables/ --host=arm-linux #make #make install 執行完了以後,你會發現 虛擬機器根目錄下下的/iptables目錄裡面有東西了 大概是 bin include lib sbin share 這幾個目錄,裡面會有很多庫 那麼接下來就簡單了,直接把虛擬機器根目錄下下的/iptables目錄拷貝到開發板的根目錄下下就行了 先掛載一下,因為拷貝的時候有庫的連線關係,如果直接通過samba拷貝到XP再拷貝到開發板可能會有連線關係丟失,所以儘量使用NFS掛載 直接把虛擬機器的root目錄掛載到開發板的mnt目錄了 cp /mnt/iptables  /   -aR 記得加上-a引數,不然你的資料大了去了 拷貝完了以後就快完事了 新增環境變數,不然找不到命令 通過export在PATH中新增 iptables/bin: iptables/sbin #iptables -L 可以看到過濾規則,呵呵,當然我們看到的沒有規則 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination  到這裡iptables就移植完成了 差點把正給忘記了,我們移植iptables是幹嘛呢 前面說到了,MAC地址轉換,來吧,一起來配置一下就OK 了 先 vi /etc/sysctl.conf
加入一行(原來沒有這個檔案的,那麼你就寫這一行就行了)
net.ipv4.forward = 1 開始配置 #iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE    //這裡的eth0是你的有線接入網絡卡名,不要告訴我說你沒有這個,那我就HEHE了 #iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT    //這個網段注意了,是我們前面DHCP給分配的網段,也就是你無線網絡卡的IP處的網段 #iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT #sysctl -p 前面四條命令執行完,事情就搞定了 補充一點,iptables是需要核心支援的,如果不行的話,就配置核心
make menuconfig開啟核心配置,增加以下核心選項(均選為built-in [*]),儲存後,重新編譯核心
[*] Networking support  --->   
    Networking options  --->     
    [*] Network packet filtering framework (Netfilter)  ---> 這個選項必須選上,否則你不會見到後面的選項
        Core Netfilter Configuration  ---> 裡面所有選項,全選
        IP: Netfilter Configuration  --->   裡面所有選項,全選
編譯核心再下載 萬事具備,讓我們嗨起來吧!
把前面的所有東西都開啟 1、啟動NATMAC轉換 #iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE #iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT #iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT #sysctl -p 2、設定無線網靜態IP #ifconfig wlan1 up 192.168.0.1 3、開啟DHCP #udhcpd -S /etc/udhcpd.conf -f wlan1 & 4、開啟hostapd #./hostapd hostapd.conf 再次用手機連線。。。。。。。。 。。驗證成功。。 。。獲取IP地址成功。。 上網。。。。。。。。。喝喝 頓時你會發現,你已經有個隨身wifi了 上網試試看,來至星星的你,直接跳過,還是《行屍走肉》比較給力 如果有問題,可以探討一下,也可以探討一下《行屍走肉》的我們!