国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

如何用Linux安裝TCP/IP路由器

2024-08-27 23:57:56
字體:
來源:轉載
供稿:網友

Linux 當 Router 的先決條件

要以 Linux 當 Router,首先必須確認你的 Linux Kernel 中有支援 IP Forwarding 的功能,也就是在 make Kernel 時,要選擇 IP Forwarding 的選項。 

Router 分別以兩塊網路卡連接 Class B net 與 Subnet,所以讓Linux 在開機的時候就要抓到這兩塊網路卡,成了一先決的條件。其方法是在 /etc/lilo。conf 中加入 append="ether=irq_0,io_port_0,eth0 ether=irq_1,io_port_1,eth1" 後,再值行 lilo C lilo。conf,之後再重新開機,應該就可以抓到兩塊網路卡了。 

要檢查是否有抓到兩塊網路卡的話,可以看 /proc/net/dev 檔中是否有 eth0 和 eth1 兩個網路介面,或是值行 ifconfig,看是否有 eth0 和 eth1 兩個網路介面, 若是沒有的話,有可能是你的 Kernel 沒有支援那種網路卡,那就必須再重新 make Kernel,將那種網路卡的選項包含進來。 

如何規劃 Subnet 的 IP address 

Router 的兩個網路介面分別連接兩個 net,且各有其 IP address,eth0=140.115.50.67 為連接 Class B net 的 IP address eth1=140.115.50.161 為連接 Subnet 的 IP address 

現在我們就要來看看如何規劃 Subnet.

首先我們要先決定 Subnet 中有幾臺機器,也就是要劃分幾個 IP address 於 Subnet 中,我以 Subnet 中有 32 臺機器為例加以說明.因此 Subnet 之 IP 范圍為

  1. 140.115.50.160 ~ 140.115.50.191,WHY??  
  2. 140.115.50.160 ===> 140.115.50.101 00000  
  3. ^^^^^^^^^^^^^^ ^^^^^  
  4. network address host address  
  5. 140.115.50.191 ===> 140.115.50.101 11111  
  6. ^^^^^^^^^^^^^^ ^^^^^  
  7. network address host address  

其 netmask 皆為 

255.255.255.224 ===> 255.255.255.111 00000 

^^^^^^^^^^^^^^^ ^^^^^ 

其 broadcast 皆為 

140.115.50.191 ===> 140.115.50.101 11111 

^^^^^^^^^^^^^^ ^^^^^ 

host address 有 5 個 bit,因此可以決定 2^5 = 32 臺機器,當然同理你也可以用 140.115.50.96 ~ 140.115.50.127 為你的 Subnet address,只要不和別人相沖就好了. 所以我們可以將 Subnet 的網路設定做一個整理:

  1. IP address = 140.115.50.160 ~ 140.115.50.191  
  2. netmask = 255.255.255.224  
  3. broadcast = 140.115.50.191  
  4. network address = 140.115.50.160  

如何設定 Router 的網路位址

決定好 Subnet 的 IP address 後,接下來就是 Config eth0 和 eth1 這兩個 網路介面,於 /etc/rc.d/rc,inet1 中加入 

ifconfig eth0 140.115.50.67 netmask 255.255.0.0 broadcast 140.115.255.255 ifconfig eth1 140.115.50.161 netmask 255.255.255.224 broadcast 140.115.50.191 後,再執行 rc.inet1 或重新開機.可以利用 ifconfig 指令來檢查設定是否正確, 

以下就是 Router 值行 ifconfig 的輸出:

  1. lo Link encap:Local Loopback  
  2. inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0  
  3. UP BROADCAST LOOPBACK RUNNING MTU:2000 Metric:1  
  4. RX packets:0 errors:0 dropped:0 overruns:0  
  5. TX packets:24 errors:0 dropped:0 overruns:0  
  6. eth0 Link encap:10Mbps Ethernet HWaddr 04:00:23:53:90:21  
  7. inet addr:140.115.50.67 Bcast:140.115.255.255 Mask:255.255.0.0  
  8. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1  
  9. RX packets:107061 errors:0 dropped:0 overruns:0  
  10. TX packets:22060 errors:0 dropped:0 overruns:0  
  11. Interrupt:5 Base address:0x290 Memory:d0000d4000  
  12. eth1 Link encap:10Mbps Ethernet HWaddr 12:30:51:47:23:85  
  13. inet addr:140.115.50.161 Bcast:140.115.50.191 Mask:255.255.255.224  
  14. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1  
  15. RX packets:107061 errors:0 dropped:0 overruns:0  
  16. TX packets:22060 errors:0 dropped:0 overruns:0  
  17. Interrupt:6 Base address:0x350 Memory:d8000db000  
  18. 如何設定 Router 的 Kernel Routing table  

網路位址設定好後,接下來就是要設定 Kernel Routing table,當 Router 收到一個 Packet 時,會依照 Packet 中的目的位址去 Kernel Routing table 比對,而決定該往 那一個網路介面送,所以 Kernel Routing table設錯了,Packet 就無法由正確的網路介 面送到目的地. 

  1. Kernel Routing table 的設定亦加入於 /etc/rc.d/rc.inet1  
  2. route add net 140.115.0.0 netmask 255.255.0.0 eth0  
  3. route add net 140.115.50.160 netmask 255.255.255.224 eth1  
  4. route add default gw 140.115.1.254 metric 1  
  5. ^^^^^^^^^^^^^^^^^^^^^^^^^ 

此為通往校外的 Gateway 後,再執行 rc.inet1 或重新開機,可以利用 route 指令來檢查設定是否正確,以下就是 Router 值行 route 的輸出:

  1. Destination Gateway Genmask Flags MSS Window Use Iface  
  2. 140.115.50.160 * 255.255.255.224 U 1436 0 234 eth1  
  3. 140.115.0.0 * 255.255.0.0 U 1436 0 29125 eth0  
  4. 127.0.0.0 * 255.0.0.0 U 1936 0 34 lo  
  5. default 140.115.1.254 * UG 1436 0 79 eth0  

如何設定 Subnet 中機器的網路位址與 Kernel Routing table Subnet 中的機器其設定方法較 Router 簡單.其只有一張網路卡,即 eth0,所以在 機器 ds170 的 /etc/rc.d/rc.inet1 中加入

  1. ifconfig eth0 140.115.50.170 netmask 255.255.255.224 broadcast 140.115.50.191  
  2. route add net 140.115.50.160 netmask 255.255.255.224 eth0  
  3. route add default gw 140.115.50.161 metric 1  
  4. ^^^^^^^^^^^^^^^^^^^^^^^^^^  

此我們將 Gateway 設為 Router 的 eth1 IP address 設定Proxy ARP 來連通 Subnet 

以上設定完成後,你就可以由 Router 連上 ds170,亦可以由 ds170 聯上 Router, 但是 若要由 ds170 直接連到外面 Class B net 上之機器,如 dslab,則無法直接連通, 因為 ds170 直接將 package(注意是資料不是ARP) 送到 router(可由 static routing table 中決定),router 再幫你在 class B network 中送 ARP,所以 dslab 會聽到此 ARP ,但當 dslab 要將 ARP 送回來時,由於 router 或 gateway 會將 broadcast 和 multicast 的 package 擋下來,而不會forwarding,所以說 dslab 回應的 ARP 無法讓 ds170 所收到 ,於是我們需在 Router上設定 Proxy ARP,其功能就是代 subnet 中的機 器回應 class B 中機器所 broadcast 的 ARP,讓 class B 中要送往 subnet 的 package 先送到 router, 之後 router 再幫其送往 subnet 中的機器. 

所以應該在 Router 的 /etc/rc.d/rc.inet1 中加入 

arp s 140.115.50.170 04:00:23:53:90:21 pub 
^^^^^^^^^^^^^^^^^ 

此為 Router eth0 介面的 hardware address 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景德镇市| 聂拉木县| 潢川县| 盘山县| 武威市| 常山县| 阿勒泰市| 安顺市| 新兴县| 交口县| 封丘县| 石渠县| 新巴尔虎右旗| 陈巴尔虎旗| 永和县| 鸡西市| 图木舒克市| 基隆市| 噶尔县| 濮阳市| 黎城县| 琼结县| 绥德县| 闽清县| 沛县| 临夏市| 定安县| 和田市| 舟曲县| 改则县| 沁源县| 通化县| 贵南县| 尚义县| 古丈县| 原平市| 连山| 柞水县| 沧州市| 措美县| 上蔡县|