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
linux策略路由配置实例,linux策略路由实例相关推荐
- linux字体配置要略,Linux字体配置要略.pdf
/ Linux 字体配置要略 Linux 字体配置要略 2012-02-15 我并不清楚 fontconfig . xfont . libfreetype 或某某库等等之间的界限与联系,其实作为普通用 ...
- arm linux 内核配置,嵌入式 Linux开发Kernel移植(二)——kernel内核配置和编译
嵌入式 Linux开发Kernel移植(二)--kernel内核配置和编译 本文选择linux 2.6.35.7版本kernel进行实践. 一.linux kernel源码目录分析 Kbuild,Ke ...
- linux apache配置多线程,linux apache 日志配置
发表于 2012-01-13 08:36:16 by 月小升 Linux系统下apache日志文件设置(每天单独生成一个日志文件) 引言: vi /etc/httpd/conf/httpd.conf ...
- linux vim配置c,Linux入门学习教程:GNU C及将Vim打造成C/C++的半自动化IDE
C语言在Linux系统中的重要性自然是无与伦比.不可替代,所以我写Linux江湖系列不可能不提C语言.C语言是我的启蒙语言,感谢C语言带领我进入了程序世界.虽然现在不靠它吃饭,但是仍免不了经常和它打交 ...
- linux基础配置脚本,Linux中selinux基础配置教程详解
selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统. 三种模式: Enforcing:强制模式,在selin ...
- zynq linux ip配置,ZYNQ+linux网口调试笔记(2)PS-GEM1
1. 开发环境 Windows SDK 2017.4 Ubuntu Petalinux 2017.4 硬件平台:米联客ZYNQ开发板MIZ7035 2. 开发目标 在ZYNQ上使用gigE Visio ...
- linux最低配置版本,Linux各个版本配置要求
桌面版的Linux越来越受到用户的欢迎, 它的画面也越来越精细.但是它所需要的配置不像windows那样来得那么夸张,到底linux的配置要求是什么样的呢?答案是:不需要太高的配置. 让我们来看看将于 ...
- linux配置网卡设DDNS,Linux之配置安全的DDNS实例
基于linux的社区版本CentOS 5.5 (前提已经配置好本机器的DNS以及DHCP,并且功能都可以实现) 1.创建密匙 [root@www ~]# dnssec-keygen -a HMAC-M ...
- linux怎么配置日志,Linux配置日志服务器的图文教程
Linux配置日志服务器的图文教程 前言 本文主要介绍的是关于Linux配置日志服务器的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 日志服务器配置文件:/etc/rsys ...
- linux smb配置目录,linux基础---smb配置
一.samba简介 1.概述: 对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议.但是Linux和Windows ...
最新文章
- 2分钟读懂Hadoop和Spark的异同
- Vuforia Android 6 Camera Error
- java serialization/deserialization (序列化对象自描述)
- OpenShift 4之实现一个基于Gogs+Nexus+Sonarqube的Jenkins CI/CD Pipeline
- windows部署tomcat服务自动启动,同时解决服务无法启动的问题
- 为系统加载右键注册控件选项【VB 注册控件】
- 信息图表是如何炼成的(二):图标与线条
- java什么是构造方法
- pyqt5 treewidget图标_Python基础之PyQt5写TreeWidget(二)--代码篇
- 计算机相关期刊,计算机相关杂志
- Google是如何教会机器玩Atari游戏的
- java中数据库修改语句_java 修改数据库中的数据
- OLED显示与LCD相比的优缺点都有哪些
- 随便看看,也是好久没更新了.....
- jQuery夹娃娃小游戏
- 单片机蓝牙烧录_怎么样蓝牙模块给单片机烧程序?
- 系统学习机器学习之特征工程(三)--多重共线性
- TCP的三次握手与四次挥手基本理解
- 相同和相等的区别。。。
- 今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~