分享java帶來的快樂

          我喜歡java新東西

          Linux服務器網(wǎng)卡驅(qū)動安裝及故障排除

          Linux服務器網(wǎng)卡驅(qū)動安裝及故障排除

          作者: 出處:計算機世界  ( 21 ) 磚  ( 35 ) 好  評論 ( 0 ) 條  進入論壇
          更新時間:2006-05-08 15:11
          關 鍵 詞:Linux
          閱讀提示:各種設備驅(qū)動程序構成了Linux操作系統(tǒng)代碼的主要部分,而網(wǎng)卡的驅(qū)動又是Linux操作系統(tǒng)中極其重要的一塊,本文作一介紹。

          網(wǎng)卡是Linux服務器中最重要網(wǎng)絡設備。據(jù)統(tǒng)計,Linux網(wǎng)絡故障有35%在物理層、 25%在數(shù)據(jù)鏈路層、10%在網(wǎng)絡層、10%在傳輸層、10%在對話、7%在表示層、3%在應用層。由此可以看出,網(wǎng)絡故障通常發(fā)生在網(wǎng)絡七層模型的下三層,即物理層、鏈路層和網(wǎng)絡層。對應于實際網(wǎng)絡也就是使用的網(wǎng)絡線纜、網(wǎng)卡、交換機、路由器等設備故障。Linux的網(wǎng)絡實現(xiàn)是模仿FreeBSD的,它支持FreeBSD的帶有擴展的Sockets(套接字)和TCP/IP協(xié)議。它支持兩個主機間的網(wǎng)絡連接和Sockets通訊模型,實現(xiàn)了兩種類型的 Sockets:BSD Sockets和INET Sockets。它為不同的通信模型和服務質(zhì)量提供了兩種傳輸協(xié)議,即不可靠的、基于消息的UDP傳輸協(xié)議和可靠的、基于流的傳輸協(xié)議TCP,并且都是在 IP網(wǎng)絡協(xié)議上實現(xiàn)的。INET sockets是在以上兩個協(xié)議及IP協(xié)議之上實現(xiàn)的。

          由于交換機、路由器通常獨立于Linux或者其他操作系統(tǒng)。網(wǎng)卡設置故障是造成Linux 服務器故障最主要原因。可能因為硬件的質(zhì)量或性能、磨損老化、人為誤操作、不正確的網(wǎng)絡設置、管理問題、Linux軟件的BUG、系統(tǒng)受到黑客攻擊和Linux病毒等原因造成。

          Linux 服務器網(wǎng)卡故障排除的思路是:應當遵循先硬件后軟件的方法。因為硬件如果出現(xiàn)物理損壞那么如何設定網(wǎng)卡都不能解決故障。解決問題的方法可以從自身Linux計算機的網(wǎng)卡查起,如果確定硬件沒有問題了,再來考慮軟件的設定。

          1. 網(wǎng)卡的選擇

          一般來說,2.4版本以后的 Linux可以支持的網(wǎng)卡芯片組數(shù)量已經(jīng)很完備了,包括著名廠商如:Intel 以及使用廣泛的 RealTek, Via 等網(wǎng)卡芯片都已經(jīng)被支持,所以使用者可以很輕易的設定好他們的網(wǎng)絡卡。但是由于Linux發(fā)行版本眾多(目前超過188個),使用前最好查看Linux發(fā)行版本的文檔。以Redhat Linux 9.0為例,這個設備列表在Ethernet- HOWTO文檔中。另外最直接的方法是查看一個目錄:/lib/modules/release/kernel/drivers/net,其中 release是內(nèi)核版本,可以使用命令:“uname -r”獲得。對于Redhat Linux 9.0是2.4.20-8。
                      

          #ls /lib/modules/2.4.20-8/kernel/drivers/net/

          3c501.o atp.o eth16i.o ni52.o smc-ultra.o

          3c503.o bonding.o ethertap.o ni65.o starfire.o

          3c505.o cs89x0.o ewrk3.o ns83820.o strip.o

          3c507.o de4x5.o fc pcmcia sundance.o

          3c509.o de600.o fealnx.o pcnet32.o sungem.o

          3c515.o de620.o hamachi.o plip.o sunhme.o

          3c59x.o defxx.o hamradio ppp_async.o tc35815.o

          8139cp.o depca.o hp100.o ppp_deflate.o tg3.o

          8139too.o dgrs.o hp.o ppp_generic.o tlan.o

          82596.o dl2k.o hp-plus.o ppp_synctty.o tokenring

          8390.o dmfe.o irda r8169.o tulip

          ac3200.o dummy.o lance.o rcpci.o tulip_old

          acenic.o e100 lne390.o sb1000.o tun.o

          aironet4500_card.o e1000 lp486e.o shaper.o via-rhine.o

          aironet4500_core.o e2100.o mii.o sis900.o wan

          aironet4500_proc.o eepro100.o natsemi.o sk98lin wavelan.o

          amd8111e.o eepro.o ne2k-pci.o skfp wd.o

          appletalk eexpress.o ne3210.o slhc.o winbond-840.o

          arlan.o epic100.o ne.o slip.o wireless

          arlan-proc.o eql.o netconsole.o smc9194.o wireless_old

          at1700.o es3210.o ni5010.o smc-ultra32.o yellowfin.o

          可以看到這個目錄列出所有Linux內(nèi)核支持的網(wǎng)絡設備驅(qū)動程序。其中大部分是以太網(wǎng)卡(8139、3COM、Intel)。也有一些是其他類型設備。對于初學者應當盡量選擇目錄中已經(jīng)列出的網(wǎng)卡。注意以.o 后綴結束的文件就是驅(qū)動程序。而沒有后綴的是驅(qū)動程序目錄(紅色)。

          3.為新網(wǎng)卡設定IP地址

           

          在Linux 網(wǎng)絡設備在配置時被賦予別名,該別名由一個描述性的縮略詞和一個編號組成。某種類型的第一個設備的編號為 0,其他設備依次被編號為 1、2、3,等。但是網(wǎng)卡并不是最為裸設備出現(xiàn)在/dev目錄下,而是存在內(nèi)存中。eth0, eth1是以太網(wǎng)卡接口。它們用于大多數(shù)的以太網(wǎng)卡,包括許多并行端口以太網(wǎng)卡。本文主要討論這類網(wǎng)卡。為Linux以太網(wǎng)卡設定IP地址的方式非常靈活,你可以選擇適合你工作情況的方法:

          (1) 使用ip或ifconfig命令

          ifconfig命令是最重要的Linux網(wǎng)絡命令,最主要的用途是設定、修改網(wǎng)卡的IP地址,修改網(wǎng)卡ip地址:
          #ifconfig eth0 192.168.0.2 netmask 255.255.255.0

          默認情況下, ifconfig 顯示活動的網(wǎng)絡設備。給這個命令添加一個 -a 開關就能看到所有設備。但是ifconfig命令設置網(wǎng)絡設備的ip地址系統(tǒng)重新啟動后設置會自動失效。所以它主要用于網(wǎng)卡狀態(tài)調(diào)試。假設您要建立一個臨時的網(wǎng)絡配置以供測試。您可以使用發(fā)行版本中的工具來編輯配置,但是需要注意在完成測試之后,將所有設置恢復回去。通過使用 ifconfig ,我們無需影響已保存的設置,就能夠快速地配置網(wǎng)卡。

          Ip命令是iproute2軟件包里面的一個強大的網(wǎng)絡配置工具,它能夠替代一些傳統(tǒng)的網(wǎng)絡管理工具。例如:ifconfig、route等。 現(xiàn)在,絕大多數(shù) Linux 發(fā)行版和絕大多數(shù) UNIX都使用古老的arp, ifconfig和route命令。雖然這些工具能夠工作,但它們在Linux2.2和更高版本的內(nèi)核上顯得有一些落伍。使用iproute2前你應該確認已經(jīng)安裝了這個工具。這個包的名字在RedHat Linux 9.0叫作“iproute2”,也可以在:ftp://ftp.inr.ac.ru/ip-routing/ 下載源代碼安裝。

          如果希望在以太網(wǎng)接口eth0上增加一個地址10.0.0.1,掩碼長度為24位,標準廣播地址,標簽為eth0:Alias:
          #ip addr add 10.0.0.1/24 brd + dev eth0 label eth0:Alias 

          netconfig命令可以設置網(wǎng)絡設備的ip地址,netconfig命令可以永久保存設置。

          使用方法是:“netconfig ethX”。使用命令“netconfig eth0”后會在命令行下彈出一個對話框,這時即可進行設定。

          設定結束后用“tab”鍵選擇“OK”即可保存設置并且退出。然后使用命令:“service network restart “激活即可生效。

          使用neat命令需要配置好X window系統(tǒng),在命令行下運行“neat”命令后添加IP地址和其他相關參數(shù)后保存設置,從新啟動網(wǎng)絡和網(wǎng)絡服務或計算機。

          另外neat命令還有一個同價命令:“redhat-config-network”,二者完全相同。Neat和redhat-config-config命令可以永久保存設置。

          除非另行指定,Red Hat Linux 系統(tǒng)中大多數(shù)配置文件都在 /etc 目錄中。網(wǎng)卡相關的TCP/IP網(wǎng)絡配置文件是:/etc/sysconfig/network-scripts/ifcfg-ethx。其中x從0開始,第一個以太網(wǎng)配置文件即:/etc/sysconfig/network-scripts/ifcfg-eth0。使用vi編輯器修改這個文件,也可以修改網(wǎng)卡IP地址。
          #vi /etc/sysconfig/network-scripts/ifcfg-eth0 

          DEVICE=eth0#設定網(wǎng)卡的名稱,要跟文件名稱對應 #

          ONBOOT=yes#是否在開機的的時候啟動網(wǎng)卡#

          BOOTPROTO=static #啟動的時候的 IP 取得的協(xié)議,這里是固定的,

          如果是動態(tài)主機的話,要改成 dhcp 才行#

          IPADDR=192.168.1.2 #IP 地址#

          NETMASK=255.255.255.0#子網(wǎng)掩嗎#

          NETWORK=192.168.1.0#該網(wǎng)段的第一個 IP#

          BROADCAST=192.168.1.255#最后一個同網(wǎng)段的廣播地址#

          GATEWAY=192.168.1.2#網(wǎng)關地址#

          #GATEWAYDEV=eth0

          存盤后使用命令:“service network restart “激活即可生效。這個方法同樣可以永久保存設置。

          (5) 為網(wǎng)卡添加IPV6地址

          和Windows系統(tǒng)相比Linux對Ipv6的支持更好,最早的支持Ipv6的Linux 內(nèi)核是 2.2.xxx。一般Linux基于2.4內(nèi)核的Linux發(fā)行版本都可以直接使用Ipv6,使用前要看系統(tǒng)IPv6模塊是否被加載,如果沒有的話可以使用命令手工加載,這需要超級用戶的權限。然后使用命令檢測,如果顯示IPv6地址(inet6 addr:fe80::200:e8ff:fea0:2586/64)證明IPv6已經(jīng)加載。
          # modprobe IPv6;#ifconfig -a

          如果希望Linux系統(tǒng)啟動時自動加載Ipv6模塊,可以在配置文件:/etc/modules.conf中加入一行:
          alias net?pf?10 ipv6 # automatically load IPv6 module on demand

          4.調(diào)整網(wǎng)卡工作模式

          現(xiàn)在的網(wǎng)卡大多是自適應工作模式,在配置網(wǎng)卡參數(shù)時我們很少考慮它的工作模式,有時發(fā)現(xiàn)一些網(wǎng)卡模塊已經(jīng)加載,但是在某些模式工作不穩(wěn)定。如筆者使用的一塊XXX品牌的雜牌RTL-8139C芯片10/100自適應網(wǎng)卡在100兆全雙工狀態(tài)下極其不穩(wěn)定(在Qcheck的TCP和UDP的測試過程中,數(shù)據(jù)包遺失率9.12%。)。在Linux環(huán)境下,我們可以使用系統(tǒng)自帶的工具mii-tool 命令來配置網(wǎng)卡工作模式。顯示Linux服務器網(wǎng)卡支持的所有以太網(wǎng)卡類型,使用命令:
                      

          # mii-tool -v

          eth0: negotiated 100baseTx-FD, link ok

          product info: vendor 00:00:00, model 0 rev 0

          basic mode: autonegotiation enabled

          basic status: autonegotiation complete, link ok

          capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

          advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

          link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

          從以上信息中可以看出,這塊網(wǎng)卡工作在100全雙工自適應模式下,“100aseTx-FD”意為100M Full Duplex。這里可以強制網(wǎng)卡工作在100M半工模式下,輸入命令:
          #mii-tool –F 100baseTx-HD eth0 

          以后恢復網(wǎng)卡的自適應工作模式,輸入命令:
          #mii-tool –r eth0 

          另外路由器、交換機、代理服務器等通信量比較大的關鍵設備上,應該為它指定正確的工作模式,這樣可以提高通信效率。

          5.DHCP客戶端網(wǎng)卡設定

          如果希望使用DHCP是動態(tài)主機配置協(xié)議,這個協(xié)議用于向計算機自動提供IP地址,子網(wǎng)掩碼和路由信息。當設備接入這個局域網(wǎng)時,它們會向 DHCP 服務器請求一個 IP 地址。然后 DHCP 服務器為每個請求的設備分配一個地址,直到分配完該范圍內(nèi)的所有 IP 地址為止。已經(jīng)分配的 IP 地址必須定時地延長借用期。這個延期的過程稱作 leasing,確保了當客戶機設備在正常地釋放 IP 地址之前突然從網(wǎng)絡斷開時被分配的地址可以歸還給服務器。Linux下配置DHCP客戶端有兩種方法:圖形界面和手工配置。使用圖形界面可以使用neat 命令界面。選中“自動獲得IP地址設置使用DHCP”即可。

          通常筆者更喜歡使用選擇手工配置 DHCP 客戶,需要修改 /etc/sysconfig/network 文件來啟用聯(lián)網(wǎng);并修改 /etc/sysconfig/network-scripts 目錄中每個網(wǎng)絡設備的配置文件。在該目錄中,每個設備都有一個叫做 ifcfg-ethX 的配置文件,ethX是網(wǎng)絡設備的名稱。如eth0等。如果你想在引導時啟動聯(lián)網(wǎng),NETWORKING 變量必須 被設為 yes。除了此處之外/etc/sysconfig/network 文件應該包含以下行:
                      

          NETWORKING=yes

          DEVICE=eth0

          BOOTPROTO=dhcp

          ONBOOT=yes

          6.VPN服務器網(wǎng)卡設置

           

          VPN是由經(jīng)過相互授權的通信雙方在公網(wǎng)上建立的安全通信隧道,數(shù)據(jù)在隧道中進行加密傳輸,用于總部與分支機構的安全通信。虛擬專用網(wǎng)絡是一種新的網(wǎng)絡技術,用于跨過 Internet 或局域網(wǎng)而安全地訪問企業(yè)網(wǎng)。Redhat Linux下的VPN技術主要有CIPE (Crypto IP Encapsulation:加密 IP 封裝)是主要為 Linux 而開發(fā)的 VPN 實現(xiàn)。CIPE 使用加密的 IP 分組,這些分組被封裝或“包圍”在數(shù)據(jù)報(UDP)分組中。CIPE 分組被給以目標頭信息,并使用默認的 CIPE 加密機制來加密。CIPE 使用標準的 Blowfish 或 IDEA 加密算法來支持加密。根據(jù)你所在國家的加密出口法規(guī)而定,你可以使用默認方法(Blowfish)來加密你的專用網(wǎng)上的所有 CIPE 交通。CIPE 配置可以通過文本文件、圖形化的網(wǎng)絡管理工具來完成。這里以通過文本文件為例介紹。首先在服務器和客戶端安裝CIPE軟件。官方網(wǎng)站:http: //sites.inka.de/~ 運行CIPE VPN服務主要需要建立兩個文件:/etc/sysconfig/network-scripts/ifcfg-cipcbX和 /etc/cipe/options.cipcbX。X 是從0開始的遞增數(shù)字。

          (1)VPN服務器端網(wǎng)卡設置

          首先手工建立/etc/sysconfig/network-scripts/ifcfg-cipcb0文件,它是VPN服務器的虛擬網(wǎng)絡接口,主要內(nèi)容:

          USERCTL=yes #是否允許所有用戶修改配置#

          TYPE=CIPE #接口類型#

          DEVICE=cipcb0 #給 CIPE 設備命名#

          ONBOOT=yes #系統(tǒng)啟動時激活設備#

          IPADDR=10.0.0.1 #本地虛擬地址#

          MYPORT=7777 #通訊端口#

          PTPADDR=10.0.0.2 #遠程虛擬地址#

          PEER=0.0.0.0 #本地地址,0.0.0.0 表示接受連續(xù)監(jiān)聽#

          ME=192.168.1.9 #對端的 CIPE UDP 地址#

          TUNNELDEV=eth0 #隧道穿越設備#

          然后建立/etc/cipe/options.cipcb0文件,這個文件存放密匙,主要內(nèi)容:

          cttl 64 #設置載體生存時間值(TTL);推薦的值是64#

          maxerr –1 #服務器錯誤掛起時間#

          key 54240266869983357939377846801171299051 #128位密匙#

          (2)客戶端網(wǎng)卡的配置

          由于CIPE要求服務器和客戶機的密匙完全相同所以,首先將密匙文件:options.cipcb從服務器復制到客戶機主機的/etc/cipe/ 目錄中。

          # scp root@192.168.1.9:/etc/cipe/options.cipcb0 /etc/cipe/options.cipcb0

          Are you sure you want to continue connecting (yes/no)? yes

          Warning: Permanently added '192.168.1.9' (RSA) to the list of known hosts.

          root@192.168.1.9's password:

          options.cipcb0 100% |***************************************| 61 00:00

          然后使用vi編輯器建立客戶端網(wǎng)卡配置文件:/etc/sysconfig/network-scripts/ifcfg-cipcb0包含以下內(nèi)容:

          USERCTL=no #不允許客戶端修改配置#

          BOOTPROTO=none

          TYPE=CIPE #接口類型#

          DEVICE=cipcb0 #給 CIPE 設備命名#

          ONBOOT=yes #系統(tǒng)啟動時激活設備#

          IPADDR=10.0.0.2 #本地虛擬地址#

          MYPORT=7777 #通訊端口#

          PTPADDR=10.0.0.1 #遠程虛擬地址#

          PEER=192.168.1.29:7777 #VPN服務器真實IP地址和端口號#

          ME=192.168.1.9 #對端的 CIPE UDP 地址#

          TUNNELDEV=eth0 #隧道穿越設備#

          MTU=“” #使用缺省設置#

          NETMASK=“” #使用缺省設置#

          NETWORK=“” #使用缺省設置#

          BROADCAST=“” #使用缺省設置#

          (3)使用ifup命令激活VPN網(wǎng)卡
          # ifup cipcb0 

          這時VPN通道已經(jīng)開啟,可以使用tcpdump等工具檢查。

          7.無線網(wǎng)卡在Linux下安裝

           

          隨著Linux網(wǎng)絡技術的快速增長,硬件廠商大大加速對硬件產(chǎn)品對Linux的技術支持。使得Linux 支持的無線網(wǎng)卡的數(shù)量在過去的一兩年里增長顯著。一旦在計算機中安裝好了無線局域網(wǎng)卡,首先要做的就是安裝驅(qū)動來讓網(wǎng)卡工作。無線網(wǎng)卡實現(xiàn)了IEEE 802.11系列協(xié)議中的一種或多種的物理層(PHY)和媒質(zhì)訪問控制子層(MAC)的功能,而驅(qū)動是用來控制無線網(wǎng)卡,向上提供與以太網(wǎng)一致的接口并提供其他一些無線局域網(wǎng)特定的管理接口的。對于不同廠商的不同網(wǎng)卡,還沒有一種統(tǒng)一的方法可以驅(qū)動所有的網(wǎng)卡。首先必須確保內(nèi)核配置中啟動了無線局域網(wǎng)。如果沒有無線局域網(wǎng)支持,你應該重新配置、編譯內(nèi)核來啟動"Wireless LAN (non-hamradio) Drivers and Wireless Extensions"。

          目前,常見的無線網(wǎng)卡大多為PCMCIA、PCI和USB三種類型,筆者使用最多的是 PCMCIA(Personal Computer Memory Card International Association)接口的無線網(wǎng)卡。對于有些設備,配置無線連接非常簡單:只要在您使用的 Linux 發(fā)行版本,插入無線網(wǎng)卡,在設置過程中單擊鼠標,并輸入正確的聯(lián)網(wǎng)參數(shù)就可以了。通常基于朗訊(Lucent)芯片組的無線網(wǎng)卡的安裝比較簡單,筆者使用的Cisco Aironet Wireless 802.11b 在Mandrake 8.2 Linu安裝程序可以順利地找到設備驅(qū)動, 使用基于intersil PRISM2-based cards 芯片組的PCMCIA的無線網(wǎng)卡安裝就比較復雜了。需要一個第三方工具安裝。

          目前經(jīng)過www.Linux.org 認證的PCMCIA網(wǎng)卡有兩大類。使用基于朗訊(Lucent)芯片組的PCIMCIA無線網(wǎng)卡和使用基于intersil PRISM2-based cards 芯片組的PCMCIA的無線網(wǎng)卡見表-1。

          Lucent chipset-based cards intersil PRISM2-based cards

          Lucent Wavelan/IEEE and Orimoco Linksys(WPC11 v2.5)

          Cabletron/Enterays RoarmAbout SMS(2632W)

          Compaq(WL110、WL210、 WL215) Compaq(WL100、WL200)

          Apple Airport Cisco Aironet Wireless 802.11b(340、350)

          IBM High Rate Wireless LAN Dlink DWL-650

          HP 802.11bWiewless LAN Nokia

          DELL TrueMobile Intel PRO/Wireless 2100

          3Com AirConnect SAMSUNG 11Mbps WLAN Card

          LA4111 Spectrum24 Wireless LAN PC Card PROXIM LAN PC CARD HARMONY 80211B

          NCR WaveLAN/IEEE Adapter

          總的來說Linux下無線網(wǎng)卡的安裝順序一般是:

          采取全部安裝方式安裝Linux發(fā)行版本,重新編譯內(nèi)核,并除去任何對內(nèi)核提供的 PCMCIA 驅(qū)動程序的部分。

          了解網(wǎng)卡的規(guī)格并且下載并編譯相應的 PCMCIA-CS 庫和驅(qū)動程序

          下載、編譯并安裝無線網(wǎng)卡必需的所有驅(qū)動程序。這一步驟對于有些網(wǎng)卡是可選的,而對于有些網(wǎng)卡是必須執(zhí)行的。做與不做很大程度上取決于您所選的無線網(wǎng)卡。

          修改和無線網(wǎng)卡的相關設定。從新啟動Linux系統(tǒng)和網(wǎng)絡。

          設置無線網(wǎng)絡相關步驟如下:

          (1)用“iwconfig”命令來顯示無線網(wǎng)卡(eth0、eth1)的信息。在以下的步驟中,用ethX表示無線網(wǎng)卡的名稱。

          (2)設置無線網(wǎng)卡的操作模式為Managed:
          #iwconfig ethX mode Managed

          (3)如果采用了WEP加密,需要設置WEP密碼:
          #iwconfig ethX key password XXXXXX

          對應40位和128位加密,password分別為6位和10位的十六進制數(shù)字。

          (4)設置SSID,其中ESSID為無線接入(Access Point)的SSID。
          # iwconfig ethX essid ESSID

          (5)創(chuàng)建/etc/sysconfig/network/ifcfg-ethX配置文件,使得機器每次啟動時,無線網(wǎng)卡都會自動獲得IP地址。該文件內(nèi)容如下:
                      

          BOOTPROTO=‘dhcp’

          MTU=‘’

          REMOTE_IPADDR=‘’

          STARTMODE=‘onboot’

          UNIQUE=‘’

          (6)啟動無線網(wǎng)卡:
          #ifconfig ethX up

          posted on 2007-10-09 07:08 強強 閱讀(411) 評論(0)  編輯  收藏 所屬分類: linux 操作系統(tǒng)配置

          主站蜘蛛池模板: 江门市| 资阳市| 上虞市| 莲花县| 甘孜| 宣化县| 慈利县| 凤冈县| 老河口市| 昌平区| 繁昌县| 长治市| 明水县| 高邑县| 石阡县| 石首市| 左权县| 青铜峡市| 高唐县| 凉城县| 武汉市| 博客| 弋阳县| 雷山县| 晋中市| 廊坊市| 获嘉县| 汶川县| 宁南县| 普兰店市| 祁东县| 晴隆县| 资兴市| 宜宾市| 汕尾市| 五华县| 扬州市| 呼和浩特市| 渝北区| 古田县| 彰化县|