嵌入式專題: 雙網卡wifi組建NAT上外網

來源:互聯網
上載者:User

標籤:nat linux ap usb

條件: 開發板上雙網卡,其中一個是usb wifi,提供wifi路由功能。另一個網口可以上外網。

目標:普通PC/手機能夠連此wifi路由,上外網。

 

1. Wifi AP

USB Wifi部分:勿用多言,此使用Realtek 8188 UC版本,這款Wifi的官方軟體內建了驅動程式相應的應用軟體。應該就是RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip這個程式包,裡面有3個部分,一個是驅動,一個是hostapd,一個是wpa_supplicant。還有一個wireless_tools,可以忽略。

其中,hostapd是用來把一台usbwifi變成AP路由的軟體。USB Wifi一般有2種模式,STA(tion)模式,和A(ccess)P(oint)模式。它內建的hostapd是根據hostapd基礎上經過定製,可以支援它自家的usb wifi的軟體,請放心使用。

Hostapd大致編譯過程:

編輯 .config, 直接在前面添加
   CC=arm-none-linux-gnueabi-gcc
   DESTDIR=/opt/x210/hostapd
   CFLAGS += -I$(DESTDIR)/include
   LIBS += -L$(DESTDIR)/lib
其中,
CC 交叉編譯器
DESTDIR 編譯後make install的位置
CFLAGS, LIBS裡加上libnl, openssl的位置

make
make install就差不多了 

hostapd支援的時候需要一個設定檔,請在它提供的配置rtl_hostapd_2G.conf上修改。
           hostapd  -B   rtl_hostapd_2G.conf

 

##### hostapd configuration file ##############################################interface=wlan1ctrl_interface=/var/run/hostapdssid=rtwapchannel=8#auth_algs=1#wep_default_key=0#wep_key0="12345"#wep_key1=9797979797wpa=2wpa_passphrase=87654321wpa_psk_file=/opt/x210/hostapd8188/hostapd.wpa_psk#bridge=br0##### Wi-Fi Protected Setup (WPS) ##############################################eap_server=1# WPS state# 0 = WPS disabled (default)# 1 = WPS enabled, not configured# 2 = WPS enabled, configured#wps_state=2uuid=12345678-9abc-def0-1234-56789abcdef0# Device Name# User-friendly description of device; up to 32 octets encoded in UTF-8device_name=RTL8192CU# Manufacturer# The manufacturer of the device (up to 64 ASCII characters)manufacturer=Realtek# Model Name# Model of the device (up to 32 ASCII characters)model_name=RTW_SOFTAP# Model Number# Additional device description (up to 32 ASCII characters)model_number=WLAN_CU# Serial Number# Serial number of the device (up to 32 characters)serial_number=12345# Primary Device Type# Used format: <categ>-<OUI>-<subcateg># categ = Category as an integer value# OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for#       default WPS OUI# subcateg = OUI-specific Sub Category as an integer value# Examples:#   1-0050F204-1 (Computer / PC)#   1-0050F204-2 (Computer / Server)#   5-0050F204-1 (Storage / NAS)#   6-0050F204-1 (Network Infrastructure / AP)device_type=6-0050F204-1# OS Version# 4-octet operating system version number (hex string)os_version=01020300# Config Methods# List of the supported configuration methodsconfig_methods=label display push_button keypad##### default configuration #######################################driver=rtl871xdrvbeacon_int=100hw_mode=gieee80211n=1wme_enabled=1ht_capab=[SHORT-GI-20][SHORT-GI-40][HT40+]wpa_key_mgmt=WPA-PSKwpa_pairwise=CCMPmax_num_sta=8wpa_group_rekey=86400

 

2.  NAT上網

NAT是Linux核心支援的技術特性,所以在編譯核心的時候要加上NAT支援。大概原理就是允許轉寄吧,把一個網口的資料直接轉到另一個網口。利用iptables命令,加上NAT選項進行操作,當然,如果核心不支援NAT你空有iptables程式也是沒有的。

(1) 編譯核心

使用FULL NAT支援

(2) 編譯iptables

你的開發板上不一定有了iptables包,也許應該自己編譯一個。 

請使用V1.4.15 ./configure --prefix=/opt/x210/iptables/  --host=arm-none-linux-gnueabimake make install

(3)  設定轉寄

echo 1 > /proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -o wlan0  -j MASQUERADE

差不多了,哥要歇了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.