首先创建两张路由表,只需要添加到相应的文件中即可,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
 
######################结束##################################

linux服务器做网关的更多相关文章

  1. 用linux主机做网关搞源地址转换(snat)

    一.原理图  二.环境 外网  A:192.168.100.20 (vmnet1) 网关  B:192.168.100.10 (vmnet1)     192.168.200.10 (vmnet2) ...

  2. MultipartFile 图片上传到Linux服务器Tomcat下的webapps目录

    第一次接触 linux 服务器,做图片上传的时候遇到了些坑,搞了些天总算成功了,记录一下 /** * 上传图片 * * @param request * @param file * @return * ...

  3. 干货|Linux平台搭建网关服务器

    概述 集群中一共10台服务器组成了局域网环境,但其中只有一台有外网网卡可以访问互联网.现要求另外9台服务器通过这台主机进行互联网访问.  实验环境介绍 利用iptables搭建网关服务器,即通过SNA ...

  4. linux服务器操作系统,在相同环境下,哪个做lamp服务器更稳定点?哪个版本更稳定?

    随着国内WEB服务越来越多,如何才能选择一个合适的linux服务器操作系统?在国内用的最多的好像是红帽子系列也就是red hat系列,但有些版本缺乏稳定性.新手在选择操作系统的时候最好只用偶数版本,还 ...

  5. Gravitational Teleport 开源的通过ssh && kubernetes api 管理linux 服务器集群的网关

    Gravitational Teleport 是一个开源的通过ssh && kubernetes api 管理linux 服务器集群的网关 支持以下功能: 基于证书的身份认证 ssh ...

  6. 为Linux服务器伪装上Windows系统假象

    网络上的计算机很容易被黑客利用工具或其它手段进行扫描,以寻找系统中的漏洞,然后再针对漏洞进行攻击. 通过伪装Linux系统,给黑客设置系统假象,可以加大黑客对系统的分析难度,引诱他们步入歧途,从而进一 ...

  7. Linux服务器操作系统

    Linux服务器操作系统 今日大纲 ●    服务器操作系统的系列.Linux的主流产品.虚拟机软件 ●    安装linux ●    linux基本命令 ●    用户管理及权限(多用户) ●   ...

  8. Linux服务器性能评估与优化(二)

    网络内容总结(感谢原创) 1.Linux内核参数优化 内核参数是用户和系统内核之间交互的一个接口,通过这个接口,用户可以在系统运行的同时动态更新内核配置,而这些内核参数是通过Linux Proc文件系 ...

  9. linux服务器宕机分析/性能瓶颈分析

    linux服务器宕机分析/性能瓶颈分析   服务器宕机原因很多,资源不足.应用.硬件.系统内核bug等,以下一个小例子 服务器宕机了,首先得知道服务器宕机的时间点,然后分析日志查找原因 1.last ...

随机推荐

  1. 在asp.net mvc4项目里bootstrap datetimepicker控件的使用

    前段时间写了一篇关于调用阿里大于的短信接口来开发例会短信群发通知功能的文章http://www.cnblogs.com/zhouyuangan/p/apicall_1.html,其中的例会时间是需求中 ...

  2. Python【第四章】:socket

    ocket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Uni ...

  3. C#把DataTable中数据一次插入数据库的方法

    现在实际的情况是这样的: 客户有一台打卡机,员工打卡的信息全部储存在打卡机的Access数据库里面,现在客户引入了一种新的管理系统,需要将Access数据库中的打卡数据同步到SQL Server数据库 ...

  4. jedis池的作用

    一.jedis池的介绍 相信大家都用过线程池或者是jdbc的连接池,使用池可以减少系统在使用所需对象时创建对象的开销,从而提高系统性能和效率.jedis池也是如此,那么我们该如何使用jedis池呢? ...

  5. AE开发中栅格图层实现分级渲染

    GP工具IDW执行后,生成的栅格图层是黑白二色,需要手动进行分级渲染,似乎不是所有栅格图层都可以进行分级渲染,注意异常处理.注意ARCMAP中是有颜色的,无需自己处理. IRasterClassify ...

  6. 第二轮冲刺-Runner站立会议08

    今天:优化日历界面 明天:将日历界面与主程序结合

  7. Java排序算法——基数排序

  8. WindowsPhone8.1RT建立空白应用挂起没反应的解决方案

    wp8.1下, 建立空白应用后遇到的问题:想要实现保存.提取数据都无法成功 在退出程序后无法进入到OnNavigatedFrom()中去. 网上说要手动的Invoke OnSuspending事件. ...

  9. Chrome 及其 插件“个性化设置”备份

    Chrome版本发布时间表 2016.10.13 v54.0.2840.59  主题颜色由 蓝色 变为 灰色 2016.11.17 重新使用 Chrome 浏览器(v54.0.2840.99),并设置 ...

  10. Daily Scrum Meeting ——ThirdDay

    一.Daily Scrum Meeting照片 二.Burndown Chart 三.项目进展 1.完成了github上的文档整理 Transcend/ActivityHelper 2.主界面侧滑框的 ...