歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> 用Linux系統做網吧雙線接入服務器方法

用Linux系統做網吧雙線接入服務器方法

日期:2017/2/27 11:50:23   编辑:Linux文化

安裝過程非常簡單,安裝完畢之後,我們需要修改的文件主要有下面幾個:

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走電信網卡、電信路由,偽裝成電信出口地址,其他默認網通。


Copyright © Linux教程網 All Rights Reserved