close

      在現在社會中,網路幾乎成為家家戶戶必備的一項科技產物。大多數人的家裡,都有ADSL、CABLE或是光纖網路,人們對網路的依賴早已不是在MODEM時期人們所能想像的了。對同樣生在這網路世代的我當然也不例外,然而身為重度使用者的我而言,單一條網路是無法滿足我的。這時侯,我就想到了一個重要的東西,那就是LINUX,一個強大的作業系統。其實,早在我國中時期我就有在玩LINUX了,當時我玩的第一套LINUX就是RADHAT 5.0,那時侯真的只能用玩來形容,因為,當時的我就只是抓了IMG檔然後燒成光碟安裝後進去看看然後照網路教學設定完就可以用了,但是 ,一直沒有其他太大的進展。直到我上了大學,在因緣機會下成為了聯成的學員,才真的了解許多LINUX上的東西,像SHELL SCRIPT、防火牆IPTABLES等。在聯成學LINUX的這些日子,真的讓我受匪淺,雖然,最後我並沒有考到一直想考的NCLP(沒辦法,人都有惰性  ╮( ^ - ^)╭ ),但是,卻讓我在大五重修及念碩士期間賺了不少零用錢。
      那麼,接下來我就來分享一下用LINUX讓我賺到不少零用錢的其中一個密技吧,這個密技其實也是在網路上學來的( 參考自 http://chris.olstrom.com/howto/setup-dual-wan/ ),主要是用在具有雙網路的地方,當然,在這裡有一樣東西是必備的,那就是一台裝有三張網卡及LINUX的主機。主機的版本不限,只要是LINUX KERNEL 2.6以上就可以了,當然,版本越高越好,但是,重點是要穩定版,這樣比較不用一直處理BUG的問題,必竟是要用在網路控管的地方。
     接下來就是環境設定了,在這邊,我先假設我是具有一條CABLE的網路及一條ADSL網路,網路的環境如下:
    eth1 192.168.100.50 Gateway 192.168.100.254 - ADSL
    eth2 192.168.200.100 Gateway 192.168.200.254 - CABLE
1.首先,先在 /etc/iproute2/rt_tables 裡加入下列兩行

1. ADSL
2. CABLE


2.然後在指令列上打入下列指令:

# ip route add 192.168.100.0/24 dev eth1 src 192.168.100.50 table ADSL
# ip route add default via 192.168.100.254 table ADSL
# ip route add 192.168.200.0/24 dev eth2 src 192.168.200.100 table CABLE
# ip route add default via 192.168.200.254 table CABLE
# ip rule add from 192.168.100.50 table ADSL
# ip rule add from 192.168.200.100 table CABLE


3. 之後再打入兩個網路在使用時的權重( 紅色字的設定值 )

# ip route add default scope global nexthop via 192.168.100.254 dev eth1 weight 1 nexthop via 192.168.200.254 dev eth2 weight 1

如果執行時遇到 " RTNETLINK answers: File exists " 的錯誤時,就用下面這條指令代替上面這條指令

# ip route append default scope global nexthop via 192.168.100.254 dev eth1 weight 1 nexthop via 192.168.200.254 dev eth2 weight 1

並省略下面兩條指令

# ip route add default via 192.168.100.254 table ADSL
# ip route add default via 192.168.200.254 table CABLE


也就是說將原來的指令改成打下列指令:

# ip route add 192.168.100.0/24 dev eth1 src 192.168.100.50 table ADSL
# ip route add 192.168.200.0/24 dev eth2 src 192.168.200.100 table CABLE
# ip rule add from 192.168.100.50 table ADSL
# ip rule add from 192.168.200.100 table CABLE
# ip route append default scope global nexthop via 192.168.100.254 dev eth1 weight 1 nexthop via 192.168.200.254 dev eth2 weight 1


這樣就完成了,接下來只要再加入IPTABLES的相關設定就可以了。

當然,光這樣還不夠,因為這樣DNS解析時也是會出問題,那怎麼辦ㄋ?

只要加裝 DNSMASQ 這個DNS CACHE SERVER 就可以了,DNSMASQ 是個集 DNS CACHE SERVER 和 DHCP SERVER 於一身的輕量級程式,可以幫忙解決DNS解析問題,同時又可以取代 DHCP SERVER,是小型網路NAT SERVER的好幫手哦,設定也很簡單,功能強大,值得推薦給大家。

arrow
arrow
    全站熱搜

    雪熊 發表在 痞客邦 留言(0) 人氣()