国内徐庄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. building '_mysql' extension error: [WinError 2] 系统找不到指定的文件。

    D:\4yanjiiu\APIzidong\MySQL-python-1.2.5>py running install running bdist_egg running egg_info wr ...

  2. python 简单的猜数字游戏

    !/usr/bin/env python --encoding:utf-8-- import random think=random.randint(1,10) print ("...... ...

  3. Chain of Responsibility(责任链)

    意图: 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. 适用性: 有多个的对象可以处理一个请求,哪个对 ...

  4. ablout unbuntu default mysql

    http://www.ghostchina.com/how-to-reset-mysqls-root-password/ http://blog.csdn.net/u010603691/article ...

  5. MsWord 操作总结

    转自(http://www.cnblogs.com/eye-like/p/4121219.html) Msdn上的word操作api(不过只有英文版,英文差的先闪过) Word2007的API:htt ...

  6. MVC3 之asp.net 与vb.net 互转练习

    vb.net mvc3相关教程http://www.asp.net/mvc/overview/older-versions/getting-started-with-aspnet-mvc3/vb/ad ...

  7. Ubuntu 16.04 日常工具

    shutter sudo apt-get install shutter indicator-sysmonitor 之前需要通过deb包安装,现在可以通过添加PPA安装: sudo add-apt-r ...

  8. python3 中文乱码,UnicodeEncodeError: 'latin-1' codec can't encode characters in position 10-13: ordinal not in range(256)

    将其源代码复制下来运行之后,报了下面这个错误: UnicodeEncodeError: 'latin-1' codec can't encode characters in position 9-13 ...

  9. java并发编程之一--Semaphore的使用

    1.介绍 Semaphore 中文的含义 信号,信号系统,此类的只要作用就是限制线程的并发的数量. Semaphore内部主要通过AQS(AbstractQueuedSynchronizer)实现线程 ...

  10. Django 之 自定义中间件

    环境:django:1.10    python: 2.7 简介 中间件是一个轻量级.底层的插件系统,可以介入 django 的请求和响应处理过程,修改 django 的输入和输出. 在 django ...