dual wan 設定問題 - Linux

Blanche avatar
By Blanche
at 2015-05-25T14:34

Table of Contents

各位先進好~~

小的目前家裡有兩條對外網路,想設定為某一段走wan2,其他則走wan1

以下為小弟的環境

主機, Ubuntu 14.04 LTS X64

三張網路卡分別為:

wan1 1.2.3.4 >> ppp0 (pppoe 固定IP)

wan2 4.5.6.7 >> eth2 (DHCP 浮動IP)

lan 192.168.0.0/16 >> eth0

以下為設定ip route 的 script:

iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 4.5.6.7
iptables -t nat -A POSTROUTING -o ppp0 -j SANT --to-source 1.2.3.4
iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -j MARK --set-mark 1

ip rule add fwmark 1 table 1

ip route add table 1 4.5.6.0/24 dev eth2 proto kernel scope link src 4.5.6.7

ip route add default dev eth2 scope link table 1

ip route flush cache

以上跑起來都沒問題~~但192.168.2.0/24這一段的還是走wan1出去~~

不曉得是哪個環節沒做到, ip_forward 也已經設定為 1

google找到的資料也大多是講到這邊就表示可以順利執行了

本來想改為load balance, 但因為小弟有在server跑apache跟mail

改成load balance好像就不會通了..

希望各位大大能協助解惑, 搞了周末兩天一點頭緒都沒有= =

--------2015/05/26更新-----------

最後挖出一本N年前買的Linux iptables的書, 看了一下裡面章節解說.

發現在設定預設路由時不可使用 ip route add dev eth2 ...

必須使用 ip route add via eth2 ...

並加上ip rule add from 192.168.2.0/24 table 1

所以最後修改script如下:

iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 4.5.6.7
iptables -t nat -A POSTROUTING -o ppp0 -j SANT --to-source 1.2.3.4
iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -j MARK --set-mark 1

ip rule add fwmark 1 table 1

ip route add table 1 4.5.6.0/24 dev eth2 proto kernel scope link src 4.5.6.7

ip route add default via eth2 table 1

ip rule add from 192.168.2.0/24 table 1

ip route flush cache

設定完後再使用reaceroute -n 168.95.1.1 測得兩個網段出去的路徑會按照設定

192.168.2.0/24 走eth2出去, 其他則走ppp0出去~~

感謝tkcn大百忙之中抽空指導!!也謝謝Linux版

--
GordonWei http://www.ngu.tw/

--
Tags: Linux

All Comments

Oscar avatar
By Oscar
at 2015-05-29T02:50
少了 ip rule 那行?
Carolina Franco avatar
By Carolina Franco
at 2015-05-31T19:56
阿阿..script本身有打~~立刻補上,感謝!!
Annie avatar
By Annie
at 2015-06-03T00:33
你是希望 192.168.2.0/24 全部走 wan2(eth2)?
Erin avatar
By Erin
at 2015-06-04T22:49
是的!!
Harry avatar
By Harry
at 2015-06-07T18:12
那 ip route add default 那行怎麼沒指定 table?
Tom avatar
By Tom
at 2015-06-10T01:04
感謝tkcn大大指正,將ip rule加上後還是沒辦法

在linux開發android app?

Eartha avatar
By Eartha
at 2015-05-24T23:12
※ 引述《sunkill (等待的距離)》之銘言: : android的核心是linux : 但我們大多都在windows下寫app : 有沒有可以在linux文字模式下用java寫android的app相關資料呢? : 我是debian linux有可能建構這樣的環境嗎? : 如果要測a ...

Debian 斷電導致之前的工作狀態被保存

Ula avatar
By Ula
at 2015-05-24T21:43
Debian 8 / 桌面環境KDE 今天筆電沒有注意到電池電量, 導致我工作到一半突然斷電。 原本我有4個virtual desktop,每個 desktop 都在執行不同程式。 因為那次的斷電,導致之後每次我開機登入系統時,那些程式都會自動再個別 desktop 執行。 遇到這種問題,我甚至連要 go ...

在linux開發android app?

Sandy avatar
By Sandy
at 2015-05-24T20:58
android的核心是linux 但我們大多都在windows下寫app 有沒有可以在linux文字模式下用java寫android的app相關資料呢? 我是debian linux有可能建構這樣的環境嗎? 如果要測app 我就直接把app丟進手機實測 請問這樣可行嗎? 感 ...

apt-get install 軟體後

Jessica avatar
By Jessica
at 2015-05-23T10:50
我是個 linux newbie, 有一個疑問就是 不管是 yum 或者是 apt-get 軟體套件 安裝完後 可以直接 terminal 軟體名稱啟動 例如: $sudo apt-get install wireshark $wireshark 是因為什麼原因呢? 感恩~ - ...

linux下要如何改變windows裡的檔案隱藏

Aaliyah avatar
By Aaliyah
at 2015-05-23T03:11
隨身碟最近很常中毒,之前都是直接接在linux主機裡 把那些病毒檔直接砍掉 但最近公用電腦裡中了另一種會隱藏檔案目錄的病毒 因為不想拿到windows環境裡去取消檔案隱藏 所以想要請教要如何在linux裡去取消隱藏檔案或目錄 謝謝 - ...