網路
1753730 會員
4597 線上
108799 解決方案
發表新文章

系統有兩張網卡的話, 封包會怎麼跑啊

 
watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

我在系統上安裝兩張網卡, 我可以指定某些的封包從特定的網卡出去嗎 ?? 有時候連出去了也不知到底是從那張出去的 ...
12則回覆 12
watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

基本上封包的行徑路線會依你所定的 routing table 來決定, 以兩張網卡分屬於不同的網段 (這是必要的, 因為 HP-UX 並不建議把兩張網卡設在同一個網段上)來看, 會由你的目的地而決定出路線.



如果你只想要讓封包從某張網卡出去, 來看到底是如何跑的, 也可以直接使用 traceroute -i 或是 -s 來指定, 可以看看下面這篇文章



http://www2.itrc.hp.com/service/cki/docDisplay.do?docLocale=zh_TW&docId=200000072889736
watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

假設主機有兩張網卡

lan 0 10.81.15.10 subnet mask 255.255.254.0 (一般網段)

lan 1 10.81.64.11 subnet mask 255.255.255.0 (備份網段)

A. 一般access都,走lan0

B. 這台機器也當10.81.65.x網段的備份主機,走lan1



在/etc/rc.config.d/netconf 中的設定應該是

ROUTE_DESTINATION=default

ROUTE_MASK=""

ROUTE_GATEWAY="10.81.15.254"

ROUTE_COUNT="1"

ROUTE_ARGS=""

ROUTE_DESTINATION="net 10.81.65.0"

ROUTE_MASK="255.255.255.0"

ROUTE_GATEWAY="10.81.64.254"

ROUTE_COUNT="1"

ROUTE_ARGS=""





用netstat –rn 確認 route table

# netstat -rn

Routing tables

Destination Gateway Flags Refs Interface Pmtu

10.81.65.0 10.81.64.254 UG 0 lan1 0

default 10.81.15.254 UG 0 lan0 0



最後可用ftp製造流量,用netstat –i lan0 2 or netstat –i lan1 2 來做觀察

watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

嗯, 那如果我想要強制把某一種類的程式透過我自己指定的網卡來傳送資料呢? 也可以做的到嗎 ?
watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

傳送資料的目的端是否都在同一個網段? 或是特別的幾個網段?
watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

封包的目的地在另一個網段, 所以我才在想該怎麼來做測試, 有什麼方法嗎 ?? 謝謝啦
watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

方便詳述一下你的環境嗎?
watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

看來有 HP 的工程做了點測試, 我的情況如下



lan0 -> 10.10.10.1

lan1 -> 10.10.11.1



現在要把某個連線程式經由 10.10.11.1 出去到 10.10.30.3, 而不是由 10.10.10.1 , 想問的就是一開始該如何確定這部份是可以用的呢 ?
watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

假設這三個網段的netmask皆為255.255.255.0,網路設備的routing protocol也運作正常



你可直接下command

# route add net 10.10.30 netmask 255.255.255.0 10.10.11.254 1



再用下列command確認

# netstat -rn
watermelonyu
教授

系統有兩張網卡的話, 封包會怎麼跑啊

這個是加入 routing entry 的結果, 我想了解的是從 local 這台會由那一張網卡出去呢 ? 可以自己指定嗎 ? 如果我想從 10.10.10.1 這張網卡介面出去, 做的到嗎 ?