安裝過程非常簡單,安裝完畢之後,我們需要修改的文件主要有下面幾個:
network 這個文件的意思是主網絡設置文件
ifcfg-eth0 eth0 這個文件的意思是網卡設置文件
ifcfg-eth1 eth1 這個文件的意思是網卡設置文件
hosts 這個文件的意思是網絡主機名配置
static-routes 這個文件的意思是靜態路由表文件
rc.local IPTABLES 這個文件的意思是腳本
sysctl.conf Linux 這個文件的意思是內核IP轉發啟用文件
這幾個文件對應的目錄是:
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
/etc/hosts
/etc/sysconfig/static-routes
/etc/rc.d/rc.local
/etc/sysctl.conf
首先我們修改一下ifcfg-eth2(我們以後接網通IP:11.11.11.11)
ifcfg-eth1(電信IP:22.22.22.22)和ifcfg-eth0(內網)三個文件。這是網卡的IP地址文件!
ifcfg-eth0就對應你內網的IP和網關(當然這些可以根據你的實際情況進行設置,你想讓那個做內網都是沒有問題的)而ifcfg-eth1跟ifcfg-eth2就是外網的IP和網關。
這是裡面的內容:
DEVICE=eth1硬件設備名
BOOTPROTO=static 配置方式
BROADCAST=192.168.0.255 廣播地址
IPADDR=192.168.0.1 是你的IP地址
NETMASK=255.255.255.0 子網掩碼
NETWORK=192.168.0.0 整個網段的地址
GATEWAY=192.168.0.1 的網關
ONBOOT=yes 是否啟用網卡(一般默認是開啟的)
其他的網卡設置都是差不多的,我就不說廢話了。
設置完了之後我們設置host文件,也就是設置好工作組
上面的工作做完了之後我們修改sysctl.conf,也就是IP轉發文件。在這裡我們一定要起用IP轉發才可以。裡面可以這樣寫:
net.ipv4.ip_forward=1
net.ipv4.conf.default.rp_filter=1
kernel.sysrq=0
然後就是static-routes文件。這個文件是靜態路由表文件!這個文件記得一定添加才可以!裡面的語法是這樣的:
eth0(設備名) net(網絡地址) 192.168.0.0 (子網)netmask 255.255.255.0 (網關地址)gw 192.168.0.1
接下來該修改resolv文件。這個文件是你DNS服務器的地址文件,語法是:
nameserver(DNS服務器) 10.0.0.1
這上面這些是大體上的設置問題,其實很簡單。下面這些就要大家好好看了,也就是我們需要的雙線接入的策略了。 首先將從兩個WAN口出去的數據包進行IP偽裝masquerade
/sbin/iptables -t nat -A postrouting -o eth1 -j masquerade
/sbin/iptables -t nat -A postrouting -o eth2 -j masquerade
(上面提到的A的意思是append,是追加,當然也可以用-I,不過I是insert,是插入,默認插入到第一條 )
然後,給系統增加一個標示為11的路由表,增加一個默認網關,這個默認網關是網通提供的網關。 ip route add 0/0 via 11.11.11.11table 11
然後給系統主路由表配置網關,這個網關是電信的網關
ip route add 0/0 via 22.22.22.22
然後添加路由規則,讓所有通向網通的數據查詢標示為11的路由表:
ip rule add to 60.0.0.0/13 table 11
ip rule add to 60.8.0.0/15 table 11
ip rule add to 60.10.0.0/16 table 11
這些規則,大家可以借鑒一下routeros的,網上很多,我就不說了,沒有的可以跟我要。我的是MMS的,應該是比較全了。
經過我們的設置所有通向網通的數據會查詢路由表11,而通向其他的地方的數據,通向電信。(如果還有其他的線路,再增加路由表,再增加策略就可以了)要注意的是,在配置網卡的時候,先不要配置網關,不要使用老的ifconfig命令來配置網關,而要使用iproute2來配置網關,否則會造成沖突,或者 使用 ip route replace 命令來替換 ip route add 命令。
還有一個做法是:
Internet
| |
| |
電信 網通
| |
|
交換機
|
eth1 eth2
Server
eth0
|
_____________
客戶機 客戶機 客戶機 客戶機192.168.0.0/24 網關192.168.0.254
其中eth0 ip 192.168.0.0/24
eth1 222.168.1.3/255.255.255.252
eth2 218.62.3.3/255.255.255.252
默認網關為網通的218.62.3.2
加上ip route add的電信網關 222.168.1.2
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -d $電信ip -j SNAT --to 222.168.1.3
***
***
***
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 218.62.3.3
這樣呢就實現了一個網段的電信網通自動切換
前期測試:如果單獨切換ip,內網同時並存192.168.0.254/24 192.168.2.254/24兩個網關,速度很穩定,可以實現預期效果
# echo "200 DIANXIN" >;>; /etc/iproute2/rt_table(這個是添加到文件,執行一次即可)
# ip route replace default via 222.168.1.2 table DIANXIN
# ip rule add fwmark 1 table DIANXIN(這個注意順序,用ip rule可以查看)
# iptables -t nat -F
# iptables -t mangle -F
# iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.222.5.0/15 -j MARK --set-mark 1
# iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.240.0.0/13 -j MARK --set-mark 1
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 222.222.5.0/15 -j SNAT --to $DIANXIN
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 222.240.0.0/13 -j SNAT --to $DIANXIN
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to $接網通線路網卡的地址 # ip route flush cache
這樣的結果,是訪問222.222.5.0/15和222.240.0.0/13走電信網卡、電信路由,偽裝成電信出口地址,其他默認網通。