伺服器, 兩條對外服務線路要如何設定, 請協助.. [論壇 - 伺服器架設]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 (2)


回覆: 伺服器, 兩條對外服務線路要如何設定, 請協助..
會員二級
註冊日期:
2008/9/12 11:40
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 145
MP : 21 / 5626
EXP: 82
離線
Sorry , 還有續言..
因為 dhcp 分配 IP 時會重新 reset default route ,
在 dhcp 租約到期時, IP 又重新取得一次, gateway 又被 reset 一次.

在 centos 下頭, 我是將以下這些指令放在 /etc/rc.local 裡

ip rule add pref 10 from 8.1.1.100 table 10
ip route replace default via 8.1.1.254 dev eth0 table 10
ip rule add pref 20 from 8.1.1.200 table 20
ip route replace default via 8.1.1.254 dev eth1 table 20

這在開機時可被完整設定, 但在 dhcp 租約到期時, 我必須在那裡去跑這些指令,
不太想用 crontab 去做這件事.

請前輩指示一下, ubuntu 及 centos 各要如何設定, 謝謝..

2011/7/7 19:39
應用擴展 工具箱
回覆: 伺服器, 兩條對外服務線路要如何設定, 請協助..

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 61522
EXP: 24
離線
在 dhcp 租約到期時, 我必須在那裡去跑這些指令,
不太想用 crontab 去做這件事.

想辦法 把這個 指令 加入 /etc/rc.local 看看 能否幫上忙
ps aux | grep dhclient 找到該執行緒 kill

最后,在 remove dhcp3-client 后,ps -ef | grep dhcp 看到 dhcp3-client 还在运行,kill 后,连续观察多天,IP地址不再变化。

2011/7/7 20:55
應用擴展 工具箱
回覆: 伺服器, 兩條對外服務線路要如何設定, 請協助..
會員四級
註冊日期:
2008/11/20 21:32
所屬群組:
已註冊使用者
等級: 20
HP : 0 / 487
MP : 163 / 18549
EXP: 48
離線

Sorry , 還有續言..
因為 dhcp 分配 IP 時會重新 reset default route ,
在 dhcp 租約到期時, IP 又重新取得一次, gateway 又被 reset 一次...........



用 gedit 或 vi 開新空白文件,貼上以下內容,然後存檔。

儲存到 /usr/local/bin/2wan.sh 中

2wan.sh 檔名只是範例,你可以取你高興的名字,副檔名 .sh 就好。


#!/bin/sh

# 取得目前 eth0 的 IP 和 閘道IP,代入變數
eth0_IP=`ip route ls | awk '/eth0.*src/ {print $9}'`
eth0_GW=`ip route ls | awk '/default.*eth0/ {print $3}'`

# 取得目前 eth1 的 IP 和 閘道IP,代入變數
eth1_IP=`ip route ls | awk '/eth1.*src/ {print $9}'`
eth1_GW=`ip route ls | awk '/default.*eth1/ {print $3}'`

# 設定多重路由表(先刪除舊的,以免發生錯誤)

ip route del table 10 2>/dev/null
ip route del table 20 2>/dev/null

ip rule add pref 10 from $eth0_IP table 10
ip route replace default via $eth0_GW dev eth0 table 10

ip rule add pref 20 from $eth1_IP table 20
ip route replace default via $eth1_GW dev eth1 table 20


以下請用 root 帳號操作:

修改檔案擁有者和群組擁有者:
chown root:root /usr/local/bin/2wan.sh

給予執行權限:
chmod 700 /usr/local/bin/2wan.sh

當你 DHCP 租約到期,IP 發生變化時
只需執行以下指令,就會自動修改路由表
2wan.sh
(或是你高興取的檔名,就是剛剛那個檔案名稱)

如無法直接執行,加路徑去執行:
/usr/local/bin/2wan.sh

在 /etc/rc.local 開機啟動腳本中,只需這一行:
/usr/local/bin/2wan.sh

原先 /etc/rc.local 那一段把它清掉。



註:
這個 shell script 腳本在 CentOS 應該可以運作。Ubuntu 不確定,要看 ip route ls 查詢時字串有沒有一樣,若不一樣要修改取的字串。

這個不會自動執行,需要手動去呼叫腳本執行。

若要自動偵測網卡已因 DHCP 租約到期改變,須搭配 cron 排程,每分鐘去 ping 一個固定網站比如 www.google.com,ping 不到表示已斷線,就去呼叫 2wan.sh 重新修正路由表。上面腳本無此功能,如需要這個功能,再說。

但即使搭配 cron 排程,因為最小循環單位是1分鐘,也就是說從DHCP租約到期重新取得新IP,到自動修正路由表,這之間會有一分鐘斷線。

建議是去改成固定 IP,比較省事。如果是中華電信光世代,可以去申請一個免費的固定IP(但只限用 ppp 撥接,每次撥接取得 IP 都相同)。

2011/7/8 11:34
應用擴展 工具箱
回覆: 伺服器, 兩條對外服務線路要如何設定, 請協助..
版主
註冊日期:
2008/7/14 0:03
來自 螢幕的另一端
所屬群組:
網站管理員
已註冊使用者
討論區管理群
等級: 33
HP : 0 / 800
MP : 500 / 31327
EXP: 3
離線
dhcp 租約到期,其實是個小問題。

你當前在用的 IP,就算你租約到期了,除非你重開機或斷線,才會向 dhcp server 要新的IP。不然的話,你當前在用的 IP ,在沒斷線的情況下,誰也拿不走。

所以,用程式判斷租約到期的這個動作,就可以免了。

你只要在開機時,用程式檢查一下 ip 和 gateway 然後寫入兩筆 static route 即可。

若要再做細心一點的話,就是讓程式在斷線後重新連線時檢查IP即可。不過, dhcp 取得的 IP,要斷線的機率好像也不高就是了,偷懶的話,這動作也可以免了。

2011/7/8 12:23
應用擴展 工具箱
回覆: 伺服器, 兩條對外服務線路要如何設定, 請協助..
會員二級
註冊日期:
2008/9/12 11:40
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 145
MP : 21 / 5626
EXP: 82
離線
感謝各位前輩.
我重申一下, 我這是是 dhcp 發 ip 沒錯, 發的也是固定 ip ,
就像 hinet 用 pppoe 發固定 ip 意思一樣..
只是 dhcp 的 renew time 是 14400 也就是說 14400 秒後,
ip 會重發但不會斷線(或許沒重發), 只是在這個 case 裡, 在 dhcp
發完 ip 後 default gateway 就會被重新設定, 在 default gateway
被設定的同時, 另一條線就不會動作, 就跟原來開機時的狀況一樣, 此時我必須去
執行夢見草前輩給的指令, 系統才會正常, 當然我可以將夢見草前輩的指令寫
成 script 用 crontab job 每分鐘一次, 不要去管 dhcp 的運作, 但必
竟不是好方法, 我想要知道的是, 當 DHCP 發完 ip 後, 在 ubuntu 及
centos 裡是否必須要去執行哪支 script , 在哪支 script 裡加入夢見草
前輩的指令試看看..

2011/7/9 9:58
應用擴展 工具箱
回覆: 伺服器, 兩條對外服務線路要如何設定, 請協助..

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 61522
EXP: 24
離線
只是 dhcp 的 renew time 是 14400 也就是說 14400 秒後,
ip 會重發但不會斷線(或許沒重發),

有個問題
租約到期
是 dhcp server 發動 ip 重發 ( 及 gateway 變更)
或者
是 dhcp client 發動 請求 重發 ip ( 及 gateway 變更)
主動權 在誰 ?

2011/7/9 10:38
應用擴展 工具箱
回覆: 伺服器, 兩條對外服務線路要如何設定, 請協助..
會員二級
註冊日期:
2008/9/12 11:40
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 145
MP : 21 / 5626
EXP: 82
離線
poloshiao 寫到:
只是 dhcp 的 renew time 是 14400 也就是說 14400 秒後,
ip 會重發但不會斷線(或許沒重發),

有個問題
租約到期
是 dhcp server 發動 ip 重發 ( 及 gateway 變更)
或者
是 dhcp client 發動 請求 重發 ip ( 及 gateway 變更)
主動權 在誰 ?


這個我不太清楚, 要如何判斷..

2011/7/11 11:31
應用擴展 工具箱

« 1 (2)

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.