linux服務器做網關


首先創建兩張路由表,只需要添加到相應的文件中即可,Linux一共支持255個路由表,rt_tables文件中默認已經存在了三張路由表,分別是:
 
255    local
 
254    main
 
253     default
 
[root@localhost ~]# echo  "10  cnc"  >> /etc/iproute2/rt_tables
 
[root@localhost ~]# echo  "20  cernet"  >> /etc/iproute2/rt_tables
 
注意:路由表前面的數字只是編號並不代表優先級,路由表沒有優先級,只有策略規則才有優先級。
 
以下配置內容每次重啟系統后都會消失,所以要把腳本設置為隨系統一塊啟動。
 
######################配置腳本###############################
 
#!/bin/bash
#加載iptables的nat和filter模塊,iptables服務最好設置成在開機時自動運行
modprobe iptable_nat
modprobe iptable_filter
 
#打開Linux內核包轉發功能
echo  "1"   > /proc/sys/net/ipv4/ip_forward    
 
#配置接口的IP地址,並激活接口
#eth0連接聯通線路,eth1連接教育網線路,eth2下連三層交換機
#這里使用iproute2的新命令來配置IP,不在使用舊的命令如:ifconfig
ip address add 115.158.113.164/25 dev eth0
ip link set dev eth0 up
ip address add 10.212.46.100/24 dev eth1
ip link set dev eth1 up
ip address add 10.10.10.1/30 dev eth2
ip link set dev eth2 up
 
#向路由表中添加路由
#向cnc路由表中添加一條默認路由
ip route add  default  via 115.158.113.129 table cnc
#向cernet路由表中添加一條默認路由
ip route add  default  via 10.212.46.1 table cernet
 
#向主路由表中添加指向內部網段的路由,不然數據包反回時找不到路由信息
ip route add 192.168.100.0/24 via 10.10.10.2 table main
ip route add 192.168.200.0/24 via 10.10.10.2 table main
 
#設置路由規則rule,注意規則是按優先級來執行的。
#所有目的地訪問115.158.119.0/25網段的用戶都走cernet線路出去。
ip rule add from 0.0.0.0/0 to 115.158.119.0/25 table cernet pref  99
#網段192.168.100.0/24的用戶都走聯通線路出去,優先級設置為100
ip rule add from 192.168.100.0/24 table cnc pref 100
#網段192.168.200.0/24的用戶都走教育網線路出去,優先級設置為101
ip rule add from 192.168.200.0/24 table cernet pref 101
 
#刷新路由表,使新配置的路由生效
ip route flush cache
 
#按求對數據包進行NAT轉換
#把192.168.100.0/24網段的用戶的源IP轉換成聯通線路接口的IP
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to 115.158.113.164
iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -j SNAT --to 10.212.46.100
 
######################結束##################################


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM