linux策略路由配置实例,linux策略路由实例linux双⽹策略路由脚本实例
双⽹要⽐单⽹复杂的多。
⾸先安装Linux⾼级路由包,⽤⾥⾯的ip命令。
# apt-get install iproute
先创建两个表
修改
/etc/iproute2/rt_tables如下
加t1⾃定义编号10
加t2⾃定义编号20
代码:
>>>>>>>>
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
10 T1
20 T2
>>>>>>>>
然后将附件⾥的cnc_1_net和ctc_1_net拷贝到/etc⽬录下,因为下⾯的脚本要⽤到。
cnc_1_net是⽹通的ip段
ctc_1_net是电信的ip段
我们要编辑个脚本。
>>>>>>>>
#!/bin/sh
# IF1 是⽹通的⽹络接⼝
IF1="eth0"
# IF2 是内⽹的⽹络接⼝
IF2="eth2"
# IF0 是电信的⽹络接⼝
IF0="eth1"
# IP1 是⽹通的IP
IP1="221.8.60.54"
# IP2 是电信的IP
IP2="222.168.11.186"
# P1 是⽹通的⽹关
P1="221.8.60.53"
# P2 是电信的⽹关
P2="222.168.11.185"
# P1_NET 是⽹通的⽹段, 掩码30表⽰有分派了4个ip, 如果是8个ip就要写成29了。P1_NET="221.8.60.52/30"
# P2_NET 为电信的⽹段
P2_NET="222.168.11.184/30"
# P0_NET 为内⽹⽹段
P0_NET="192.168.0.0/24"
# 设置基本的防⽕墙
echo "1" > /proc/sys/net/ipv4/ip_forward
echo 8000 > /proc/sys/net/ipv4/ip_conntrack_max
modprobe iptable_filter
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
modprobe ip_nat_irc
modprobe ip_conntrack_irc
modprobe ipt_MASQUERADE
modprobe ipt_REJECT
modprobe ipt_limit
iptables -F
iptables -t nat -F
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT iptables -t nat -A POSTROUTING -s $P0_NET -o $IF1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $P0_NET -o $IF2 -j MASQUERADE
# 设置策略路由
ip route flush table T1
ip route flush table T2
ip rule list | grep T | while read line; do
POS4=`echo $line | awk \'{print $4}\'`
if [ "$POS4" = "to" ]
then
DST=`echo $line | awk \'{print $5}\'`
RT=`echo $line | awk \'{print $7}\'`
ip rule del to $DST table $RT
fi
if [ "$POS4" = "lookup" ]
then
SRC=`echo $line | awk \'{print $3}\'`
RT=`echo $line | awk \'{print $5}\'`
ip rule del from $SRC table $RT
fi
done
if [ ! -z $IP1 ]
then
ip route replace $P1_NET dev $IF1 src $IP1
ip route add $P1_NET dev $IF1 src $IP1 table T1
ip route add $P0_NET dev $IF0 table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route add $P1_NET dev $IF1 table T2
ip route replace default via $P1 dev $IF1 table T1
ip rule add from $IP1 table T1
WAN_RT1="nexthop via $P1 dev $IF1 weight 1"
fi
if [ ! -z $IP2 ]
then
ip route replace $P2_NET dev $IF2 src $IP2
ip route add $P2_NET dev $IF2 src $IP2 table T2
ip route add $P0_NET dev $IF0 table T2
ip route add 127.0.0.0/8 dev lo table T2
ip route add $P2_NET dev $IF2 table T1
ip route replace default via $P2 dev $IF2 table T2
ip rule add from $IP2 table T2
WAN_RT2="nexthop via $P2 dev $IF2 weight 1"
fi
WAN_RT3="$WAN_RT1 $WAN_RT2"
# 把⽹通作为默认⽹关,如果是电信把$WAN_RT1修改为$WAN_RT2 ip route replace default scope global $WAN_RT1
# ⽤两个⽹关做负载均衡(⼀般不⽤)
#ip route replace default equalize scope global $WAN_RT3
ip route flush cache
if [ -s /etc/ctc_1_net ]
then
while read LINE
do
case $LINE in
\\#*) ;;
*)
ip rule add to $LINE table T2
;;
esac
done < /etc/ctc_1_net
fi
if [ -s /etc/cnc_1_net ]
then
while read LINE
do
case $LINE in
\\#*) ;;
*)
ip rule add to $LINE table T1 ;;
esac
done < /etc/cnc_1_net
fi
ip route flush cache
>route add命令实例
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
addroute方法的作用和理解
« 上一篇
【安全狐】routeprint命令详解
下一篇 »
文章目录
- 发表评论
- 推荐文章
- 应用程序的安全检测方法、装置、电子设备和存储介质
- nginx map用法 正则
- VBA之正则表达式(1)--基础篇
- Prometheus监控学习笔记之初识PromQL
- 关于PHP中的webshell
- 热门文章
- 一种任意人头与任意人体的3D结合方法
- 正则匹配c语言中8进制
- fortran数据格式
- python中文本转数字用的公式
- gh 文本变数值
- js判断输入是否为正整数、浮点数等数字的函数代码
- qt浮点数正则表达式
- QT正则表达式限制输入值
- 手机号码和电话号码的正则表达式
- str转浮点-概述说明以及解释
- 英豪结尾的诗句
- Java正则表达式:符合以特定字符串开头,以特定字符串结尾的所有结果
- machinebuilder使用手册
- ASP.NET网站建设基本常用代码
- LCD显示实时时钟
- 经纬度正则表达式解析
- 前端科学计数法转数字
- python正则表达式re之compile函数解析
- pythonunittest之断言及示例
- [lua]lua中匹配字符串小数
- 最新文章
- nginx map用法 正则
- Prometheus监控学习笔记之初识PromQL
- 关于PHP中的webshell
- python中re.findall函数实例用法
- nginx url表达式
- nginx 正则匹配参数
- 标签列表
推荐文章
热门文章
-
一种任意人头与任意人体的3D结合方法
2025-01-07 -
正则匹配c语言中8进制
2025-01-07 -
fortran数据格式
2025-01-07 -
python中文本转数字用的公式
2025-01-07 -
gh 文本变数值
2025-01-07 -
js判断输入是否为正整数、浮点数等数字的函数代码
2025-01-07 -
qt浮点数正则表达式
2025-01-07 -
QT正则表达式限制输入值
2025-01-07 -
手机号码和电话号码的正则表达式
2025-01-07 -
str转浮点-概述说明以及解释
2025-01-07 -
英豪结尾的诗句
2025-01-07 -
Java正则表达式:符合以特定字符串开头,以特定字符串结尾的所有结果
2025-01-07 -
machinebuilder使用手册
2025-01-07 -
ASP.NET网站建设基本常用代码
2025-01-07 -
LCD显示实时时钟
2025-01-07 -
经纬度正则表达式解析
2025-01-07 -
前端科学计数法转数字
2025-01-07 -
python正则表达式re之compile函数解析
2025-01-07 -
pythonunittest之断言及示例
2025-01-07 -
[lua]lua中匹配字符串小数
2025-01-07
最新文章
-
nginx map用法 正则
2025-01-07 -
Prometheus监控学习笔记之初识PromQL
2025-01-07 -
关于PHP中的webshell
2025-01-07 -
python中re.findall函数实例用法
2025-01-07 -
nginx url表达式
2025-01-07 -
nginx 正则匹配参数
2025-01-07
发表评论