在網(wǎng)盟潛水的日子不短了,這個(gè)ID是我剛剛申請的,看到很多朋友對linux平臺下架設
網(wǎng)吧服務(wù)器的問(wèn)題溫得比較多,真正意義上解答的也不是很多,在參考了很多文章之后經(jīng)過(guò)不斷測試終于成功了,所以有了這篇文章,廢話(huà)少說(shuō),我們開(kāi)始。。我用的是RED9版本,其他的也是大同小異了
安裝過(guò)程非常簡(jiǎn)單,安裝完畢之后,我們需要修改的文件主要有下面幾個(gè):
network 這個(gè)文件的意思是主網(wǎng)絡(luò )設置文件
ifcfg-eth0 eth0 這個(gè)文件的意思是網(wǎng)卡設置文件
ifcfg-eth1 eth1 這個(gè)文件的意思是網(wǎng)卡設置文件
hosts 這個(gè)文件的意思是網(wǎng)絡(luò )主機名配置
static-routes 這個(gè)文件的意思是靜態(tài)路由表文件
rc.local IPTABLES 這個(gè)文件的意思是腳本
sysctl.conf Linux 這個(gè)文件的意思是內核IP轉發(fā)啟用文件
這幾個(gè)文件對應的目錄是:
/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(我們以后接網(wǎng)通IP:11.11.11.11) ifcfg-eth1(電信IP:22.22.22.22)和ifcfg-eth0(內網(wǎng))三個(gè)文件。這是網(wǎng)卡的IP地址文件!
ifcfg-eth0就對應你內網(wǎng)的IP和網(wǎng)關(guān)(當然這些可以根據你的實(shí)際情況進(jìn)行設置,你想讓那個(gè)做內網(wǎng)都是沒(méi)有問(wèn)題的)而ifcfg-eth1跟ifcfg-eth2就是外網(wǎng)的IP和網(wǎng)關(guān)。
這是里面的內容:
DEVICE=eth1硬件設備名
BOOTPROTO=static 配置方式
BROADCAST=192.168.0.255 廣播地址
IPADDR=192.168.0.1 是你的IP地址
NETMASK=255.255.255.0 子網(wǎng)掩碼
NETWORK=192.168.0.0 整個(gè)網(wǎng)段的地址
GATEWAY=192.168.0.1 的網(wǎng)關(guān)
ONBOOT=yes 是否啟用網(wǎng)卡(一般默認是開(kāi)啟的)
其他的網(wǎng)卡設置都是差不多的,我就不說(shuō)廢話(huà)了。
設置完了之后我們設置host文件,也就是設置好工作組
上面的工作做完了之后我們修改sysctl.conf,也就是IP轉發(fā)文件。在這里我們一定要起用IP轉發(fā)才可以。里面可以這樣寫(xiě):
net.ipv4.ip_forward=1
net.ipv4.conf.default.rp_filter=1
kernel.sysrq=0
然后就是static-routes文件。這個(gè)文件是靜態(tài)路由表文件!這個(gè)文件記得一定添加才可以!里面的語(yǔ)法是這樣的:
eth0(設備名) net(網(wǎng)絡(luò )地址) 192.168.0.0 (子網(wǎng))netmask 255.255.255.0 (網(wǎng)關(guān)地址)gw 192.168.0.1
接下來(lái)該修改resolv文件。這個(gè)文件是你DNS服務(wù)器的地址文件,語(yǔ)法是:
nameserver(DNS服務(wù)器) 10.0.0.1
這上面這些是大體上的設置問(wèn)題,其實(shí)很簡(jiǎn)單。下面這些就要大家好好看了,也就是我們需要的雙線(xiàn)接入的策略了。
首先將從兩個(gè)WAN口出去的數據包進(jìn)行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,不過(guò)I是insert,是插入,默認插入到第一條 )
然后,給系統增加一個(gè)標示為11的路由表,增加一個(gè)默認網(wǎng)關(guān),這個(gè)默認網(wǎng)關(guān)是網(wǎng)通提供的網(wǎng)關(guān)。
ip route add 0/0 via 11.11.11.11table 11
然后給系統主路由表配置網(wǎng)關(guān),這個(gè)網(wǎng)關(guān)是電信的網(wǎng)關(guān)
ip route add 0/0 via 22.22.22.22
然后添加路由規則,讓所有通向網(wǎng)通的數據查詢(xún)標示為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的,網(wǎng)上很多,我就不說(shuō)了,沒(méi)有的可以跟我要。我的是MMS的,應該是比較全了
經(jīng)過(guò)我們的設置所有通向網(wǎng)通的數據會(huì )查詢(xún)路由表11,而通向其他的地方的數據,通向電信。(如果還有其他的線(xiàn)路,再增加路由表,再增加策略就可以了)
要注意的是,在配置網(wǎng)卡的時(shí)候,先不要配置網(wǎng)關(guān),不要使用老的ifconfig命令來(lái)配置網(wǎng)關(guān),而要使用iproute2來(lái)配置網(wǎng)關(guān),否則會(huì )造成沖突,或者 使用 ip route replace 命令來(lái)替換 ip route add 命令。
還有一個(gè)做法是:
Internet
| |
| |
電信 網(wǎng)通
| |
|
交換機
|
eth1 eth2
Server
eth0
|
_____________
客戶(hù)機 客戶(hù)機 客戶(hù)機 客戶(hù)機192.168.0.0/24 網(wǎng)關(guān)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
默認網(wǎng)關(guān)為網(wǎng)通的218.62.3.2
加上ip route add的電信網(wǎng)關(guān) 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
這樣呢就實(shí)現了一個(gè)網(wǎng)段的電信網(wǎng)通自動(dòng)切換
前期測試:如果單獨切換ip,內網(wǎng)同時(shí)并存192.168.0.254/24 192.168.2.254/24兩個(gè)網(wǎng)關(guān),速度很穩定,可以實(shí)現預期效果
# echo "200 DIANXIN" >;>; /etc/iproute2/rt_table(這個(gè)是添加到文件,執行一次即可)
# ip route replace default via 222.168.1.2 table DIANXIN
# ip rule add fwmark 1 table DIANXIN(這個(gè)注意順序,用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 $接網(wǎng)通線(xiàn)路網(wǎng)卡的地址
# ip route flush cache
這樣的結果,是訪(fǎng)問(wèn)222.222.5.0/15和222.240.0.0/13走電信網(wǎng)卡、電信路由,偽裝成電信出口地址,其他默認網(wǎng)通
大家還有不明白的,可以加群20094845,我們大家一起討論。
網(wǎng)管之家活動(dòng):「WPS+云辦公服務(wù)」 正版授權