1. 設定網絡接口,其中 eth0 爲 192.168.1.2, eth0:0 爲 192.168.0.2
[root@test root]# cd /etc/sysconfig/network-scripts
[root@test network-scripts]# vi ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.2
[root@test network-scripts]# vi ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=no
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
[root@test network-scripts]# ifup eth0 ; ifup eth0:0
[root@test network-scripts]# ifconfig eth0; ifconfig eth0:0
啓動兩個網絡卡,這個沒問題的。可以連通兩個網域了
2. 觀察路由情況:
[root@test network-scripts]# route
3. 啓動 IP FORWARD 項目:
[root@test network-scripts]# echo 1 >; /proc/sys/net/ipv4/ip_forward
只要上面這一行,我們的 Linux 就具有 Router 的功能了!
如果一切測試都順利,那麼您可以直接將這一行加入 /etc/rc.d/rc.local 這個檔案中!
4.1設定 192.168.1.0 那個網域的 client 計算機:
IP:192.168.1.11
Gateway:192.168.1.2 <==極度重要的設定!
netmask:255.255.255.0
network:192.168.1.0
broadcast:192.168.1.255
4.2 設定 192.168.0.0 那個網域的 Client 計算機
IP:192.168.0.11
Gateway:192.168.0.2 <==極度重要的設定!
netmask:255.255.255.0
network:192.168.0.0
broadcast:192.168.0.255
如此一來,兩個網域之間的溝通將會透過彼此的 GATEWAY 而兩者的 GATEWAY 都在 Linux 上面,所以自然很容易進行溝通啦!尤其我們已經開啓了 Routing 的功能!OK!沒問題!
這樣就設定完成了!如何?很容易吧!這樣一來,就可以讓您的很多計算機的內部網域之網絡流量舒緩很多囉!此外,這裏必須提出一點說明,因爲我上面的範例直接就是要用來作爲測試用的,所以搞的比較簡單,而且還是在同一塊 Linux 主機的網絡卡上面搞定的!請注意,如果要架設較大流量的 Router 時,請分別以兩張網絡卡來分隔不同的網域,這樣應該會比較好呢!而至於 client 端的設定方面可以參考前面幾章的說明:局域網絡設定與連上 Internet。
另外,請特別留意,就如同剛剛前面我們提過的信息來看,開機的時候,不論您的 alias 的設定爲何 ( 是否設定爲 ONBOOT ),只要啓動 eth0 則相關的 eth0:n 都會被啓動!這個時候請特別留意!如果其中有一個 IP alias 設定錯誤的話,那麼可能將會導致您的網絡整體都會不通!原因多半出在 GATEWAY 上面!建議設定完成之後,先將 eth0 整個 shutdown ,然後再啓動,亦即『ifdown eth0; ifup eth0』然後再來看看 route 的情況!這樣可以避免這次設定成功,下次開機卻是不通的情況發生的!
測試 Router 工作:
在 192.168.1.11 這個 client 端,先聯機到 192.168.1.2 試看看能否聯機;
在 192.168.1.11 這個 client 端測試是否可以聯機到 192.168.0.2 這個 Server 端的另一個網絡連接接口;
在 192.168.1.11 這個 client 端測試是否可以連接到另一個 client 端,亦即 192.168.0.11 這個 client !?
將 Linux 主機的 /proc/sys/net/ipv4/ip_forward 功能關掉,然後再檢驗上面的三個步驟看看!試看看網絡是否能夠溝通呢?
我們來測試看看 1. Client 端的測試( Windows 2000 操作系統, IP 爲 192.168.1.11 ):
C:\>;ping 192.168.1.2 <==同網域的主機
Pinging 192.168.1.2 with 32 bytes of data:
Reply from 192.168.1.2: bytes=32 time<10ms TTL=255
Reply from 192.168.1.2: bytes=32 time<10ms TTL=255
Reply from 192.168.1.2: bytes=32 time<10ms TTL=255
Reply from 192.168.1.2: bytes=32 time<10ms TTL=255
Ping statistics for 192.168.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\>;ping 192.168.0.2 <==不同網域的主機
Pinging 192.168.0.2 with 32 bytes of data:
Reply from 192.168.0.2: bytes=32 time<10ms TTL=255
Reply from 192.168.0.2: bytes=32 time<10ms TTL=255
Reply from 192.168.0.2: bytes=32 time<10ms TTL=255
Reply from 192.168.0.2: bytes=32 time<10ms TTL=255
Ping statistics for 192.168.0.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\>;ping 192.168.0.11 <==不同網域的 Client 端!
Pinging 192.168.0.11 with 32 bytes of data:
Reply from 192.168.0.11: bytes=32 time<10ms TTL=254
Reply from 192.168.0.11: bytes=32 time<10ms TTL=254
Reply from 192.168.0.11: bytes=32 time<10ms TTL=254
Reply from 192.168.0.11: bytes=32 time<10ms TTL=254
Ping statistics for 192.168.0.11:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
看到了嗎? 192.168.1.11 可以 ping 到 192.168.0.11
2. Server 端的修改:
[root@test root]# echo 0 >; /proc/sys/net/ipv4/ip_forward
先將 IP routing 的功能關掉一下!試看看結果!
3. Client 端的測試 ( 操作系統爲 windows 2000, IP 192.168.1.11 ):
C:\>;ping 192.168.0.11
Pinging 192.168.0.11 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 192.168.0.11:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
馬上就無法聯機了!
5. 恢復 Linux Router :
[root@test root]# echo 1 >; /proc/sys/net/ipv4/ip_forward
不要忘記把 IP Routing 的功能加回來呢!
6. 用另一部 Linux 主機看一下結果 ( IP 192.168.0.11 ):
[root@vbird-redhat root]# ping -c 3 192.168.1.11
PING 192.168.1.11 (192.168.1.11) from 192.168.0.11 : 56(84) bytes of data.
64 bytes from 192.168.1.11: icmp_seq=1 ttl=127 time=0.542 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=127 time=0.517 ms
64 bytes from 192.168.1.11: icmp_seq=3 ttl=127 time=0.541 ms
--- 192.168.1.11 ping statistics ---
3 packets transmitted, 3 received, 0% loss, time 1998ms
rtt min/avg/max/mdev = 0.517/0.533/0.542/0.022 ms
測試的結果也告訴我們,沒錯!有沒有啓動 Routing 的功能將會影響 Linux 是否可以具有 Router 的能力!
建議:
上面的那個範例單純只是爲了作爲範例來示範!要注意,我們在公司內部架設 router 的時候,通常是希望降低內部網絡流量的負載,這個時候,當然是將兩個網域分別分開在兩個實體網絡卡上面比較好!而不是在一塊網絡卡上面設定兩組 IP ,這樣做對於減低流量負荷的幫助應該不大!所以,您的實體線路配線方面可能要變成如下圖所示的模樣( 當然,設定方面則是完全一樣啦! ):
無論如何,上面的方式可以提供一些中小企業,計算機數要多不多,偏偏又會影響整體流量的情況時,可以使用來解決問題!再來,對於中小學的網絡佈線情況呢,也可以達到不錯的降低整體網絡負荷的效果!而這個簡單的 Router 您可以使用 486 那種等級的舊舊的計算機來架設就可以啦!反正他的 loading 又不重~~此外,附上一篇小州前輩的建議給大家參考:
其實這樣子弄是有點問題的。我的意思是說,一般弄切割的話,還是需要弄獨立的網絡卡分隔,這不只是區隔網絡而已,而且還是考慮到實體封包流通時的問題。
您網頁上的架構,實體網絡佈線,那 linux 只有一張網絡卡,所以網絡卡接網絡線時會接到 hub 上,而 a、b 兩端不同網絡區段的計算機也都是把網絡線接到該 hub。這個佈線方式,其實底層封包流通時,a、b 兩端網絡都還是可以收到,只不過 ip 那層看到因爲不是自己網絡區段的封包而不理會。
ip alias 時機,一般不建議用在提供 router/nat 這類同一個 ip 區段內,因爲不同網絡區段的封包還是會撞在一起... 真正商業使用上,要提供router/nat 功能時,通常不會建議使用 ip alias (除非真的是臨時需要或者是真的少網絡卡可以用),而會使用兩張網絡卡並且各自使用 hub/switch切割開處理。
另外以管理實際網絡的經驗來看,其實若是有使用者作怪,像是 a 網絡有人架設dhcp,那 b 網絡使用者可能就遭殃了:Q 還有就是,若是 a 網絡內的計算機作怪,也可以把自己的 ip 設定爲 b 網絡區段內的 ip,那就會失去區隔效用。
網絡卡的代號爲 eth0, eth1, eth2...,而第一張網絡卡的第一個虛擬接口爲 eth0:0 ....。
可以直接使用 ifconfig 來設定網絡參數,也可以使用編輯檔案,檔案在 /etc/sysconfig/network-scripts/ifcfg-ethn[],其中 n 與 m 爲數字;
Linux 要作爲 Router 時,務必啓動 ip_forward;
Router 上面應該具有兩個以上的網絡接口,以溝通不同的網域封包數據;
使用 route 指令來設定 Router 的路由表。
事實上,Router 除了作爲路由轉換之外,在 Router 上面架設防火牆,亦可在企業內部再分隔出多個需要安全 (Security) 的單位數據的區隔!
讓不同網段之間可以ping通
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
搞搞, 超星爾雅;
sewerganger
2019-02-24 22:44:54
GNS3、VMware和物理機搭建網絡模擬環境(一)
lvqingpu
2019-02-24 13:15:35
如果同事暗中傷害你,應該怎麼辦?
這個饅頭有餡
2019-02-24 13:59:08
職場中,抱怨越多的員工,越被領導瞧不起!
這個饅頭有餡
2019-02-24 13:59:08
老程序員被裁,應屆生卻能月薪 1.3 萬?這你能忍?
前端高達
2019-02-24 13:48:04
遇到到處蹭吃卻從不請客吃飯的主怎麼辦?
樑軍年
2019-02-24 13:26:35
Linux基本操作命令
wbzjacky
2019-02-24 13:12:38
高標準機房綜合配線安裝
wbzjacky
2019-02-24 13:12:38
IPsec ***實驗
wbzjacky
2019-02-24 13:12:37
真實的模擬***綜合實驗
wbzjacky
2019-02-24 13:12:37
CISCO路由AAA的Easy ***
wbzjacky
2019-02-24 13:12:37
三層交換機的HSRP、vlan、端口聚合
wbzjacky
2019-02-24 13:12:37