qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

          實(shí)例解析—用Linux操作系統(tǒng)構(gòu)建的路由器

          一.網(wǎng)絡(luò)整體框架
            網(wǎng)絡(luò)結(jié)構(gòu)如圖,Linux路由器這臺計(jì)算機(jī)標(biāo)識為A,它與三個(gè)網(wǎng)段相連,192.168.1.0/24,10.0.0.0/8,172.16.0.0/16.
            A計(jì)算機(jī)必須擁有三塊網(wǎng)卡,分別與三個(gè)網(wǎng)段相連。
            假設(shè):
            eth0與172.16.0.0相連,
            eth1與10.0.0.0相連,
            eth2與192.168.1.0相連。
            二.具體網(wǎng)絡(luò)設(shè)置
            2.1配置eth0
            首先來配置eth0.給這個(gè)網(wǎng)絡(luò)接口分配地址172.16.1.1,運(yùn)行下列命令:
            # ifconfig eth0 172.16.1.1 netmask 255.255.0.0
            為了使這個(gè)地址不再計(jì)算機(jī)重新啟動后消失,編輯/etc/sysconfig/network-scripts/ifcfg-eth0文件,修改為如下格式:
          DEVICE = eth0
          ONBOOT = yes
          BROADCAST = 172.16.255.255
          NETWORK = 172.16.0.0
          NETMASK = 255.255.0.0
          IPADDR = 172.16.1.1
            增加一條靜態(tài)路由:
            # route add -net 172.16.0.0 netmask 255.255.0.0
            這樣系統(tǒng)中就增加了一條靜態(tài)路由:
            # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface
            172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
            2.2配置eth1
            接下來,配置eth1,eth1與10.0.0.0網(wǎng)段相連,分配給它的地址是10.254.254.254,使用ifconfig命令為它配置參數(shù):
            # ifconfig eth1 10.254.254.254 netmask 255.0.0.0
            同樣編輯/etc/sysconfig/network-scripts目錄下的ifcfg-eth1文件,內(nèi)容如下:
          DEVICE = eth1
          ONBOOT = yes
          BROADCAST = 10.255.255.255
          NETWORK = 10.0.0.0
          NETMASK = 255.0.0.0
          IPADDR = 10.254.254.254
            再增加一條靜態(tài)路由:
            # route add -net 10.0.0.0 netmask 255.0.0.0
            網(wǎng)絡(luò)中當(dāng)前的路由表為
          # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface
          172.16.0.0 * 255.255.0.0 U 0 0 0 et
           2.3配置eth3
            最后配置eth3,它連接192.168.1.0網(wǎng)段,分配的IP地址是192.168.1.254,執(zhí)行下列命令:
            # ifconfig eth2 192.168.1.254 netmask 255.255.255.0
            編輯/etc/sysconfig/network-scripts目錄下的ifcfg-eth2文件,內(nèi)容如下:
          DEVICE = eth2
          ONBOOT = yes
          BROADCAST = 192.168.1.255
          NETWORK = 192.168.1.0
          NETMASK = 255.255.255.0
          IPADDR = 192.168.1.254
            再增加一條靜態(tài)路由:
            # route add -net 192.168.1.0 netmask 255.255.255.0
            這樣網(wǎng)絡(luò)中就有三條靜態(tài)路由記錄了:
          # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface
          172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
          10.0.0.0 * 255.0.0.0 U 0 0 0 eth1
          192.168.1.0 * 255.255.255.0 U 0 0 0 eth2
            2.4配置缺省路由和系統(tǒng)轉(zhuǎn)發(fā)
            2.4.1建立缺省路由
            還要為系統(tǒng)增加一條缺省路由,因?yàn)槿笔〉穆酚墒前阉械臄?shù)據(jù)包都發(fā)往它的上一級網(wǎng)關(guān)(假設(shè)地址是172.16.1.100,這個(gè)地址依賴于使用的網(wǎng)絡(luò)而定,由網(wǎng)絡(luò)管理員分配),因此增加如下的缺省路由記錄:
            # route add default gw 172.16.1.100
            或者
            #ip route add default via 172.16.1.100 dev eth0
            這樣系統(tǒng)的靜態(tài)路由表建立完成,它的內(nèi)容是
          # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface
          172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
          10.0.0.0 * 255.0.0.0 U 0 0 0 eth1
          192.168.1.0 * 255.255.255.0 U 0 0 0 eth2
          default 172.16.1.100 0.0.0.0 UG 0 0 0 eth0
            2.4.2建立路由轉(zhuǎn)發(fā)
            最后一步,要增加系統(tǒng)的IP轉(zhuǎn)發(fā)功能。這個(gè)功能由/proc/sys/net/ipv4目錄下的ip_forward文件控制,執(zhí)行如下命令打開ip轉(zhuǎn)發(fā)功能:
            echo 1 > /proc/sys/net/ipv4/ip_forward
            或者
            /etc/sysctl.conf文件,讓包轉(zhuǎn)發(fā)功能在系統(tǒng)啟動時(shí)自動生效:
            # Controls IP packet forwarding
            net.ipv4.ip_forward = 1
            iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
            #iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE
            參數(shù)說明:
            -t nat:調(diào)用NAT表,調(diào)用這個(gè)說明遇到了產(chǎn)生新的連接的包。
            -A POSTROUTIN:指定信息包打算離開防火墻時(shí)改變它們的規(guī)則,意即使用NAT。
            -s 192.168.1.0/255.255.255.0:要進(jìn)行NAT轉(zhuǎn)換的源地址,也就是內(nèi)網(wǎng)地址。
            -o eht0:輸出接口為eth0。
            -j MASQUERADE:指定進(jìn)行地址偽裝,意即將內(nèi)網(wǎng)地址偽裝成外接口eth0的地址進(jìn)行傳輸。
            整條語句的意思就是將內(nèi)網(wǎng)向外連接的數(shù)據(jù)包的地址轉(zhuǎn)換為外網(wǎng)接口的地址并從外接口轉(zhuǎn)發(fā),同時(shí)外
            網(wǎng)訪問內(nèi)網(wǎng)的連接將被映射到相應(yīng)的內(nèi)網(wǎng)地址。
            Iptables上的設(shè)置可用命令iptables -t nat –nvL查看。
            保存iptables配置。
            /etc/rc.d/init.d/iptables save
            使用這條命令就可以將iptables配置寫入到文件/etc/sysconfig/iptables中去了。
            重啟iptables使配置生效。
            service iptables restart
            2.4.3 常用命令
          ip route del default
          iptables -t filter –nvL
          iptables -t nat -nvL
          ip route ls
          ip route delete 169.254.0.0/16
          service iptables save
          watch iptables -nvL
            三.測試路由器的工作情況。
            在linux路由器上測試:
            第一步,測試自身網(wǎng)絡(luò)是否工作正常,執(zhí)行如下命令
            ping 172.16.1.1
            ping 192.168.1.254
            ping 10.254.254.254
            如果這些地址都能ping通,則第一步通過,否則查找原因,排除錯(cuò)誤。
            第二步,測試與上一級網(wǎng)關(guān)之間是否連通
            ping 172.16.1.100
            如果通暢,則正常;否則查找錯(cuò)誤原因。
            在192.168.1.0網(wǎng)絡(luò)內(nèi)測試,假設(shè)它的地址是192.168.1.1,
            第一步,測試自身是否工作正常, ping 192.168.1.1
            第二步,測試與網(wǎng)關(guān)是否連通, ping 192.168.1.254
            第三步,測試與10.254.254.99是否連通,這是10.0.0.0網(wǎng)段內(nèi)的一臺計(jì)算機(jī) ping 10.254.254.99
            第四步,測試與外網(wǎng)地址是否連通 ping 172.16.1.100 如果連通了,表示路由器配置正確,否則,查找原因,并排除之。

          posted on 2013-12-23 09:37 順其自然EVO 閱讀(313) 評論(0)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

          <2013年12月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 鄂尔多斯市| 沐川县| 高唐县| 桃园县| 凤庆县| 宝兴县| 乐平市| 碌曲县| 明水县| 新郑市| 裕民县| 黄浦区| 崇阳县| 吉木萨尔县| 侯马市| 淮南市| 老河口市| 历史| 巩留县| 龙州县| 新建县| 墨江| 漠河县| 宜宾县| 红安县| 枣庄市| 鄂州市| 托里县| 舞阳县| 台东县| 沂水县| 中西区| 舒兰市| 改则县| 海伦市| 玉环县| 兰考县| 潮安县| 丽江市| 四子王旗| 蒙城县|