国内徐庄1.1.1.1     内网地址192.168.0.0/16  gre隧道适配器地址 172.16.0.45

国外2.2.2.2内网地址无 gre隧道地址172.16.0.46
国外 centos6  国内ros

1、查看当前centos版本号
cat /etc/redhat-release
 
2、查看当前CENTOS是否安装防火墙以及状态
service iptables status
如果提示 iptables:unrecognized service 则表示系统尚未安装。
安装防火墙
yum install iptables
 
3、配置防火墙
vi /etc/sysconfig/iptables
 
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#允许哪些段进行NAT,这里注意-o后面跟的是网卡,要用ifconfig看当前外网IP在哪个网卡上,我这里是eth0。
如果vps有子网卡的情况,比如外网IP是在venet0:0上面,xxx:0,xxx:1等等的时候,注意把-0的接口写到venet0上,而不要写到子接口上 
-A POSTROUTING -s 192.168.0.0/16 -o eth0 -j MASQUERADE
-A POSTROUTING -s 172.0.0.0/8 -o eth0 -j MASQUERADE
COMMIT
 
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# 允许已建立的或相关连的通行
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许本地回环接口
-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
#允许本机对外访问 
-A OUTPUT -j ACCEPT 
# 允许访问SSH端口,如果端口修改了可以更改相应端口号 
-A INPUT -p tcp --dport 22 -j ACCEPT
#允许公司IP段完全访问centos
-A INPUT -p ALL -s 1.1.1.1/29 -j ACCEPT
#允许公司内网段通过防火墙
-A FORWARD -p ALL -s 192.168.0.0/16 -j ACCEPT
-A FORWARD -p ALL -s 172.0.0.0/8 -j ACCEPT
#禁止TCP新连接以及不存在的连接
-A INPUT -m state --state NEW,INVALID -j DROP
COMMIT
 
重启防火墙
service iptables restart
 
设置防火墙开机就启动
chkconfig iptables on
 
 
4、修改系统内核,允许做为路由转发,修改内核,必须重启生效
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
 
5、
在rc.local增加建立隧道的命令
vi /etc/rc.local
#建立隧道,本地地址和远程地址
ip tunnel add tunnel0 mode gre remote 1.1.1.1 local 2.2.2.2 ttl 245
#建立隧道的mtu为1400
ip link set tunnel0 up mtu 1400
#隧道地址为172.16.0.46/30
ip addr add 172.16.0.46/30 dev tunnel0
#为公司内网IP增加静态路由表
ip route add 192.168.0.0/16 dev tunnel0
ip route add 172.0.0.0/8 dev tunnel0
 
6、查看当前centos所有TCP,UDP连接的命令
cat /proc/net/nf_conntrack
cat /proc/net/nf_conntrack | grep x.x.x.x
 
在ROS的操作
设置GRE隧道地址 

把隧道地址打上

将源地址是apple.com的打标成APPLE

设置路由表,标签为apple的就走隧道172.16.0.38出去

修改MSS值

修改MSS或者MTU值可能会造成流量变大的情况,但是如果不修改,可能会造成网络能PING通,但是开不了网页,也就是控制包头在1524之内。

VPS(Centos6)连ROS做GRE隧道完整版的更多相关文章

  1. centos6 yum安装mysql 5.6 (完整版)

    使用源代码编译安装mysql还是比较麻烦,一般来说设备安装时请网络同事临时开通linux上网,通过yum网络实现快速安装,或配置yum仓库进行内网统一安装. 通过网络快速安装过程如下 一.检查系统是否 ...

  2. ROS+gre over ipv6,在ipv6的基础上建立GRE隧道

    感谢群众大神 @镜花水月全程技术支持.感谢! 环境: 1.阿里云华北5,申请ipv6测试,申请ECS带ipv6公网ip 2.为了便于测试便捷,在vultr创建2.5美元的vps,带ipv6 对了,测试 ...

  3. VPS CentOS-6 下 LNMP HTTP服务器的搭建

    VPS CentOS-6 下 LNMP HTTP服务器的搭建 前言 恢复更新后的第一篇博文, 前段时间由于各种理由, 把博客更新给宕掉了, 个人独立博客的开发也搁浅了, 现在随着工作的逐步稳定, 决心 ...

  4. Gre 隧道与 Keepalived

    这一篇文章是做了不少功课的. 什么是 Gre 隧道 什么是 Vrrp KeepAlived 是什么 用Keepalived 怎么玩 附录 什么是 Gre 隧道 GRE 隧道是一种 IP-2-IP 的隧 ...

  5. 用 ROS 做内网DNS服务器

    转载:http://iliuyong.iteye.com/blog/1035692 用 ROS 做内网DNS服务器方法:1.ROS 设置IP ->DNS 选择"static" ...

  6. docke跨主机通信之gre隧道

    GRE简介 GRE可以对网络层的任何协议来进行封装,类似LVS的IPIP协议,在原有的数据报上增加GRE协议数据报.然后在网络上传输,到达对端后,解开GRE数据报头,得到真实的数据报.其中的mac地址 ...

  7. linux 下创建GRE隧道

    其他国家的互联网如同一个孤岛.要想访问国外网站异常的缓慢,甚至被和谐了.可以建立一条隧道来避免这种情况,下面说说GRE隧道如何建立. 1. GRE介绍 GRE隧道是一种IP-over-IP的隧道,是通 ...

  8. 内部办公网与IDC机房的GRE隧道配置实践

    背景 公司内网与机房服务器为了实现用内网IP通信的功能,故使用了linux的IP gre隧道的方式.使得公司内部可以直接通过路由直连的方式访问机房服务器. 拓扑图如下: 注:拓扑中的外网IP为虚构的I ...

  9. vxlan中vtep角色,以及通过GRE隧道进行流镜像

    1. 交换机上建立gre隧道,对端ip为ip12. 交换机上报gre隧道的OF逻辑端口port id,这里gre tunnel的id实际就是OF逻辑端口id3. 控制器建立流ipflow1的镜像配置, ...

随机推荐

  1. C++函数的返回值——返回引用类型&非引用类型

    函数的返回主要分为以下几种情况: 1.主函数main的返回值: 允许主函数main没有返回值就可结束:可将主函数main返回的值视为状态指示器,返回0表示程序运行成功,其他大部分返回值则表示失败. 2 ...

  2. HDU 1166 敌兵布阵(线段树 or 二叉索引树)

    http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意:第一行一个整数T,表示有T组数据. 每组数据第一行一个正整数N(N<=50000),表示敌人有 ...

  3. 记c#中构造函数中this的用法

    今天谈及这个话题,是因为在看别人代码,遇到的.本着知其然还要知其所以然的精神,在网上大肆查找了一遍.得到了一些答案.并在此做一个简单的笔记,以便自己和他人以后查找,与我一同成长进步. 在C#中this ...

  4. android中自定义view构造函数ContentItemView(Context context, AttributeSet paramAttributeSet)的用处

    自己定义一个view <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...

  5. 安装win7和ubuntu双系统

    最近买了新的笔记本电脑,发现新买的电脑上面安装的是win7用户版,在网上查了一下这个版本的win7是功能最少的...另外又发现偌大的500G硬盘居然只给分成2个区,每个250...各种不爽,于是决定格 ...

  6. vue: alias

    resolve: { extensions: ['.js', '.vue', '.json'], alias: { '@': path.resolve('src') } }

  7. Linux下各文件夹的含义和用途

    Linux根目录”/“下各个系统文件夹的含义和用途 1./boot 该目录默认下存放的是Linux的启动文件和内核. 2./initrd 它的英文含义是boot loader initialized ...

  8. IIR滤波器设计(调用MATLAB IIR函数来实现)

    转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途         对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求 ...

  9. Linux上jdk安装及环境变量设置

    1.jdk下载和安装 (1)http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载需 ...

  10. BusyBox ifup udhcpc后台运行

    /********************************************************************** * BusyBox ifup udhcpc后台运行 * ...