作者 主題: 無法forward!!! 緊急!!  (閱讀 7157 次)

0 會員 與 1 訪客 正在閱讀本文。

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 於: 2002-10-20 00:38 »
請問一下各位學長~
我有一台rh 7.2 的主機作gateway 的服務
之前可以forward 但是現在多加了一張nic卻沒辦法

eth0 200.73.*.254/25 接switch subnet 200.73.*.128/25
eth1 10.0.0.254/24 接switch subnet 10.0.0.0/24
eth2 200.73.*.253/25 接router ip 為 200.73.*.129/25 (這張是新加的卡)

route table
des                             gw                 netmask                  iface
200.73.*.129    200.73.*.253  255.255.255.255      eth2
200.73.*.128    200.73.*.254  255.255.255.128      eth0
200.73.*.128    0.0.0.0           255.255.255.128      eth0
200.73.*.128    0.0.0.0           255.255.255.128      eth2
127.0.0.0          0.0.0.0           255.255.255.255      lo
0.0.0.0             200.73.129.129 0.0.0.0                  eth2

ip4 forward 有開~
iptables 的policy 都是accept
chains 都沒設

關於route 的路徑是
到200.73.*.128/25 這裡是用eth0 出去 (LAN)
到200.73.*.129 (router) 是用eth2 出去 (200.73.*.253/25)
到0.0.0.0/0 是用 200.73.*.129 (router 的ip) 出去

在本機端route 沒問題, 可以連到internet 跟其他2個subnet (200.73.*.128/25 跟 10.0.0.0/24)

但是200.73.*.128/25 這個subnet 的機器沒辦法forward 過去
從200.73.*.130 ping 的結果為
200.73.*.254 (eth0) ok!
200.73.*.253 (eth2) ok!!
200.73.*.129 (router) NO responde!!><

卡在沒辦法過去router
自然也沒辦法到internet
><
有哪各部分有可能我疏忽掉嘛?
請賜教><

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7312
    • 檢視個人資料
無法forward!!! 緊急!!
« 回覆 #1 於: 2002-10-20 01:00 »
~253/25 跟 ~129/25 是在一起的嗎?

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #2 於: 2002-10-20 01:57 »
引述: "duncanlo"
~253/25 跟 ~129/25 是在一起的嗎?


yes, router (~129/25)跟 eth2 (~253/25) 用一條線連起來
並沒有通過switch

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7312
    • 檢視個人資料
無法forward!!! 緊急!!
« 回覆 #3 於: 2002-10-20 11:11 »
引述: "IceCream"
引述: "duncanlo"
~253/25 跟 ~129/25 是在一起的嗎?


yes, router (~129/25)跟 eth2 (~253/25) 用一條線連起來
並沒有通過switch


在gateway主機上,
可以ping的到router嗎?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
無法forward!!! 緊急!!
« 回覆 #4 於: 2002-10-20 11:37 »

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #5 於: 2002-10-20 12:13 »
引述: "netman"
看完這篇再說吧:
http://www.study-area.org/tips/iproute.htm


mmmmmm.......
這篇文章我之前有參考過了
就是用那個idea 去設定的
不過問題在於~
linux server 的route 設定並沒有錯
可以連到 200.73.*.128/25 這個subnet (eth0)
10.0.0.0/24 也可以 (eth1)
200.73.*.129 router 也可以 (eth2)
ping 到 WAN 也可以~到網際網路都沒問題
本地端的route 好像都對
所以我想問題會不會是出在forward 的部分
謝謝你 :D

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #6 於: 2002-10-21 11:10 »
在此附上網路藍圖, 這樣應該會清楚一點我在說什麼吧@@


硬體


邏輯


中間那台RH 7.2 的route 確定沒問題, mmmmmm 我認為應該沒問題吧@@
可以ping 到 10.0.0.0/24, 200.73.*.128/25, 200.73.*.129 (router), www.yahoo.com (DNS 跟 internet ok)

問題在於200.73.*.128/25 那個網路群沒辦法透過RH 7.2 forward 出去
可以ping 到 200.73.*.253~254, 但是跑不出去, 連router 也ping 不到
ip4forward 已開啟, iptables 為default. 沒有設定chains
請教一下各位學長, 在clients 端的route table 有關係嗎?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
無法forward!!! 緊急!!
« 回覆 #7 於: 2002-10-21 11:19 »
怪,x.x.x.128/25 的 subnet 怎麼與 129 這 router 放在一起?
254, 253 本就在同一 subnet 嘛,還說看過文章?

建議:
1) 可用 26bit 再切,分開 subnet
2) 或用 proxy arp 來解決

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #8 於: 2002-10-21 11:47 »
引述: "netman"
怪,x.x.x.128/25 的 subnet 怎麼與 129 這 router 放在一起?
254, 253 本就在同一 subnet 嘛,還說看過文章?

建議:
1) 可用 26bit 再切,分開 subnet
2) 或用 proxy arp 來解決


haha 被抓到念書不專心了 :D
如果用26bit 再切的話, 會有一半的ip 會浪費掉吧???
因為router 沒有接到switch, 是直接接到RH7.2耶
253,254 是在同一個subnet, 但是route table 應該沒錯啊?? 為什麼沒辦法forward?
照理講, client 端的gw 指向 254, 當RH7.2 接到這個packet 時就會順著自己的route table 去處理這個packet 了. 既然 local 端的routing 沒有不對, 為什麼 forward 不出去?

能否推薦幾篇proxy arp 的文章讓我讀一讀^^~小弟才疏學淺, 還要靠各位學長進修

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
無法forward!!! 緊急!!
« 回覆 #9 於: 2002-10-21 12:42 »
切 subnet 怎會浪費一半?
定多再浪費兩個而已~~~

關鍵是 routing ,一下子難說得清楚,先將 IP 與 MASK 的關係,及 routing table,及 ARP 等觀念與運作 "寫" 出來(不是看一遍),然後就有概念了...

proxy arp ?我也是去 google 找而已....

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7312
    • 檢視個人資料
無法forward!!! 緊急!!
« 回覆 #10 於: 2002-10-21 12:49 »
netman把答案都說出來了...
本來我覺得暗示 冰淇淋兄,
他應該自己可以發現問題的...

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #11 於: 2002-10-22 07:31 »
真是不好意思呢~麻煩那麼多人 :oops:  :oops:  :oops:
剛剛又重翻了一下書~發現有一個錯誤的地方
就是當200.73.*.128/25 這個網段要找200.73.*.129/25時
一經MASK比對會發現2個同在一個subnet, 所以不會經過gw
又由於那2個不在同一個實體網段, 如果不經過gw 根本連不上
不過~連到0.0.0.0/0 又如何?.....

會浪費掉一半的ip 是指, 有些程式(像遊戲啦)在跑會用到廣播~
如果不在同一個網段就沒辦法吧?!
再說, 就算用26bit割, 前半段還是會跟129/26 分在一起, 問題又一樣??

現在要努力念一下arp-proxy,  :-?  :-?  :-?  在google 發現一些很有趣的文章

謝謝你!!

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7312
    • 檢視個人資料
無法forward!!! 緊急!!
« 回覆 #12 於: 2002-10-22 09:36 »
我想參考資料有很多,
而且你已把架構圖畫出來了,
仔細思考一下整個架構和流程,
你應該會很快解決問題的...  :lol:

成功後,歡迎回來分享心得!

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #13 於: 2002-10-23 10:16 »
這2天又重想了一下
可以把eth2 跟 router 放在同一個subnet
變成200.73.*.128/26 (router + eth2) 跟200.73.*.192/26 網段 2個subnet
不過問題在
1) 網路公司給的router 它的ip 跟 mask 都已經設好了, 不太可能動吧?
    預設是~129/25, 跟eth2的mask 就不在同一個網段了
2) 假設沒有問題1, 2個subnet 也沒辦法進行broadcast 吧?

是否最好的解決方案為建立arp proxy?

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #14 於: 2002-10-23 10:20 »
剛剛又跑去找arp proxy 的資料
結果居然在google 找到
http://www.study-area.net/network/network_arp.htm
 :roll:  :roll:  :roll:

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #15 於: 2002-10-23 10:32 »
疑?!?!! 真奇怪~
這裡有2個網頁跟上面有異曲同工之妙
http://www.fanqiang.com/a3/b3/20010604/090400339_b.html
http://www.bell.adsldns.org/network/network01.htm

其中一個居然寫著:
作者:Bell
 :o  :o  :o  :o  :o

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #16 於: 2002-10-24 18:07 »
arp 要手動一個一個加進去嗎?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
無法forward!!! 緊急!!
« 回覆 #17 於: 2002-10-24 18:13 »
引述: "IceCream"
arp 要手動一個一個加進去嗎?


大量的我沒測過,但只有幾台的話,我是逐個設的。
或可利用:
echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp
但我沒試過。

net

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
無法forward!!! 緊急!!
« 回覆 #18 於: 2002-10-25 05:37 »
確實是有點困擾,ISP把subnet mask給設定住了,要在現有架構下將
eth0(200.73.*.128/25)和及eth2(200.73.*.128/25)的broadcast給打通,似乎只有
用proxy_arp來處理(or repeat) 才能work(當然,對200.73.*.128/25這個區段而
言, default gw應該是只有一個200.73.*.129才是吧).
 
But...
疏小弟不才一問:
1. 為甚麼eth2要直接以cross over方式與router(200.73.*.129)連接?
2. Layer2 switch是如何處理255.255.255.255的broadcast?

Layer2 switch理當能處理200.73.*.128/25區段內的broadcast,問題是面對
255.255.255.255的broadcast是不是會被filtered掉的?您所謂的game用的
是那種形式的廣播啊?

小弟以為,處理broadcast問題,是不是不只處理Layer3的routing問題
,還要先清楚您急於處理的broadcast問題不是嗎?

是不是就將200.73.*.128/25區段內的所有nodes包含eth2,以及router的
LAN port 200.73.*.129接上同一部switch(拿掉eth0),而此一區段的default gw
就是200.73.*.129,讓您的RH7.只處理routing的問題,proxy_arp恐怕只是
削足適履的坐法,您以為呢?

話說至此,希望學長們能為小弟說明Layer2 switch對local brocast及
255.255.255.255的broadcast處理形式為何?謝謝....
inux很好玩 :-)

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #19 於: 2002-10-25 06:38 »
一開始我是這樣做ㄚ
2 張nic 然後 RH7.2, client 跟router 全部都放上同一個switch
問題來了~
如果client 端不乖, default gw 的地方放~129(router) 而不是~254(RH7.2)
packet 出去就不會經過 RH7.2 也沒辦法做filter
又, 如果沒放default gw, client 端的電腦會抓整個網段的第一台電腦做gw
也不會經過RH7.2
之所以用cross over 連線加上arp proxy, 是要強制讓所有packet 經過RH7.2
這樣可以控制所有的封包, firewall 也才能夠起作用

小弟不才, 只能想到這個solution  :oops:  :oops:  :oops:

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
無法forward!!! 緊急!!
« 回覆 #20 於: 2002-10-25 10:56 »
1) ISP 當然得設好分配給您的 netmask ,至於如何在切 subnet ,那是閣下 "自己" 的事情,與 ISP 無關。
2) 是否  cross-over 沒關係,燈號亮就好。否則,換線。
3) IP 的 broadcast 很簡單,在 routing 之前,sender 會透過 ARP 取得 mac address 。只要 32bit IP 中的 1 ( 0 忽略)與 packet 之 destination 是一至的,就會回應 ARP 。
4) L2 的 broadcast 則是 FF:FF:FF:FF:FF:FF ,比方 dhcp-discover 和 arp-request。
5) L2 switch 只管 L2 address ,根本不管 IP 長甚麼樣子。若 switching table 中沒有 entry ,則向所有 port 做 forward 。

net

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
無法forward!!! 緊急!!
« 回覆 #21 於: 2002-10-25 11:42 »
呵呵~
將253,254這兩個interface作成proxy_arp,又加上
packets filter可行嗎?我是說proxy_arp和packets
filter之間有沒有誰over誰;或是against對方的
問題呢?

小弟我回頭看看packets filter的HOW_TO,老實說
您的作法似乎是HOW-TO所未提及的作法,而
且,為處理254<->253之間封包遞送的問題,您的
chain rules令小弟很感興趣,願聞其詳....:-)

透過您所提共的網路topology,其中的routing table
實在是饒富趣味,尤其是:
200.73.*.129(dst) <- 200.73.*.253(gw)
小弟想請教這樣的entry能作用嗎?

討論討論吧...:-)
inux很好玩 :-)

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #22 於: 2002-10-25 12:23 »
真是太高興了^^居然有人會對我的文章感興趣

先把10.0.0.0/24 這個網段去掉, 醬會清楚一點
引用
將253,254這兩個interface作成proxy_arp,又加上
packets filter可行嗎?我是說proxy_arp和packets
filter之間有沒有誰over誰;或是against對方的
問題呢?

http://www.linux.org.tw/CLDP/Adv-Routing-HOWTO-17.html
這裡有一篇關於arp proxy 的howto 可以看看
arp proxy 只是負責回應另一個網段的MAC 跟傳送packet 而已, 並沒有filter 的作用
但在傳送的同時, 由於會經過核心, 所以可以用iptables 做filter.
2個作用不同, 所以應該沒有over 或against 的問題
不知道這樣解釋對不對  :oops:  :oops:  :oops:

關於chain rules, 我的作法跟沒有用arp proxy 以前一樣, 沒有改變.
實做要看看有沒有什麼要改. 現在還只是紙上作業而已


引用
透過您所提共的網路topology,其中的routing table
實在是饒富趣味,尤其是:
200.73.*.129(dst) <- 200.73.*.253(gw)
小弟想請教這樣的entry能作用嗎?

這個routing table 是可以用的, 我已經試過了
其實邏輯是很簡單的
要連到0.0.0.0/0 要經過~129 (router) 這個host
而要連到 ~129(router) 這個host 則要經過~253
對內的話, 要連到~128/25 這個subnet 要經過~254
這樣就ok 了!
指令為
route add default gw ~129
route add -host ~129 eth2
route add -net ~128/25 eth0

我有找到幾個firewall+gateway+arp proxy 的實例,
可以參考一下
http://www.stat.fju.edu.tw/Teachonline/%E5%BB%96%E5%BB%BA%E7%BF%94/Linux/Router/router.htm

請問一下netman 學長,
switch 只是聰明一點的hub吧? 2個都在同一個layer 工作?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
無法forward!!! 緊急!!
« 回覆 #23 於: 2002-10-25 12:33 »
hub 是 repeater,在  L1
switch 是 bridge ,在 L2

或請參考:
http://liy.slat.org/study/network/network_essential/network_inter.html

net

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
無法forward!!! 緊急!!
« 回覆 #24 於: 2002-10-25 12:33 »
引述: "netman"
1) ISP 當然得設好分配給您的 netmask ,至於如何在切 subnet ,那是閣下 "自己" 的事情,與 ISP 無關。
....
4) L2 的 broadcast 則是 FF:FF:FF:FF:FF:FF ,比方 dhcp-discover 和 arp-request。


netman學長您好:

對於您所題得第1點,學弟有個疑問: ISP把router的LAN port IP的netmask
設定作了固定(200.73.*.128/25), 對於進一步subnetting而言確實是有困
難不是嗎?如學長先前所言,用26個bits的mask再次處理subnetting,對
router而言,如何處理分割後另一segment的routing decision呢? 是不是
segment A -> segment B走routing,但segment B -> segment A走arp_brocast啊? (if
router 實體上屬於B段)

又,對第4點所言: Layer2的arp request,是針對local network做出broadcast
的動作,所謂的local network所指為何?

學的我一直以來對所謂broadcast address一直十分混淆,以此例來
講200.73.*.128/25, 200.73.*.255和255.255.255.255差異為何?local network指的
都不是這兩個address啊? 學長的解釋是:
Layer2 的broadcast是 FF:FF:FF:FF:FF:FF , 這是mac的broadcast,那Layer3的broadcast就是學弟上述的那兩個address了喔?能否請學長點一下Layer3的那兩個broadcast做用為何?

學弟先說聲謝謝了 ...:-)
inux很好玩 :-)

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
無法forward!!! 緊急!!
« 回覆 #25 於: 2002-10-25 12:46 »
1) 先找 VLSM 的資料來看看...,再手工將圖畫出來。
2) 作 arp 之前德動作是 routing desision ,以決定從哪個 interface 送出。

IceCream

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
    • http://www.taiwanes.com
無法forward!!! 緊急!!
« 回覆 #26 於: 2002-10-27 08:44 »
yes!!! 我成功了!!  :lol:  :lol:  :lol:  :lol:  :lol:  :lol:  :lol:
用 echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp
不過routing 真的要先決定好
原來並不是那麼難
只要多看一點書, 認真找一下資料, 加上大家的幫忙
一定會成功的  :wink:  :wink:  :wink: