全球主机交流论坛

标题: 【Linux教程系列】把SoYouStart的闲置IP挪给Kimsufi杜甫使用 [打印本页]

作者: shc    时间: 2021-12-19 10:50
标题: 【Linux教程系列】把SoYouStart的闲置IP挪给Kimsufi杜甫使用
本帖最后由 shc 于 2021-12-19 12:29 编辑

大家好呀,今天来介绍一下搭建GRE隧道的简单教程,把一台服务器的IP地址映射给另外一台服务器使用。之前写过一篇IPIP隧道的(https://hostloc-workers.ikyomon.com/forum.php?mod=viewthread&tid=343926),这次介绍更好用的GRE隧道。

典型的使用场景:有一台SoYouStart大盘鸡,它有16个免费的IPv4,然而我们只需要用1个IP地址;另有一台Kimsufi杜甫,我们需要用它来生小鸡,但是没有多余的IP地址给它用。因此,我们就可以搭建GRE隧道,将SoYouStart的免费IPv4映射给Kimsufi杜甫使用。下面开始教程。

提供IP的服务器为A,接受IP的服务器为B。服务器A提供的IP地址为88.88.88.88,服务器B地址为99.99.99.99.

1, 在服务器上绑定IP.

以Ubuntu 20.04为例,编辑文件/etc/netplan/50-cloud-init.yaml,添加下面的语段:
  1. network:
  2.     version: 2
  3.     ethernets:
  4.         网卡名:
  5.             dhcp4: true
  6.             match:
  7.                 macaddress: 网卡MAC地址
  8.             set-name: 网卡名
  9.             addresses:
  10.             - 88.88.88.88/32
复制代码

然后输入命令让IP绑定生效:
  1. netplan try
  2. netplan apply
复制代码

此时,如果你用SSH登录88.88.88.88,你应该能够登录上服务器A。

2, 启用GRE模块,以及前置准备工作

在两台服务器上分别执行
  1. modprobe ip_gre
  2. lsmod | grep gre
  3. apt-get install -y iptables iproute2
复制代码


如果执行lsmod这步的时候看不到相应模块的显示,可能需要换内核。

然后,在服务器A上执行
  1. echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
  2. sysctl -p
复制代码


3, 搭建GRE隧道

服务器A上执行:
  1. ip tunnel add qing.su mode gre local 88.88.88.88 remote 99.99.99.99 ttl 255
  2. ip addr add 10.0.0.1/30 dev qing.su
  3. ip link set qing.su up
复制代码


服务器B上执行:
  1. ip tunnel add qing.su mode gre local 99.99.99.99 remote 88.88.88.88 ttl 255
  2. ip addr add 10.0.0.2/30 dev qing.su
  3. ip link set qing.su up
复制代码


此时,在服务器A上ping 10.0.0.2或者在服务器B上ping 10.0.0.1,应该都能ping通。

4, 设置路由表、数据与端口转发

服务器B上执行:
  1. echo '100 SHC' >> /etc/iproute2/rt_tables
  2. ip rule add from 10.0.0.0/30 table SHC
  3. ip route add default via 10.0.0.1 table SHC
复制代码


服务器A上执行:
  1. iptables -t nat -A POSTROUTING -s 10.0.0.0/30 ! -o gre+ -j SNAT --to-source 88.88.88.88
  2. iptables -A FORWARD -d 10.0.0.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  3. iptables -A FORWARD -s 10.0.0.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  4. iptables -t nat -A PREROUTING -d 88.88.88.88 -p TCP -m TCP  -j DNAT --to-destination 10.0.0.2
  5. iptables -t nat -A PREROUTING -d 88.88.88.88 -p UDP -m UDP  -j DNAT --to-destination 10.0.0.2
复制代码


至此,GRE隧道及后续的转发全部配置完毕。此时,原来分配给服务器A的IP地址88.88.88.88已经被映射到IP地址为99.99.99.99的服务器B上了,可以进行后面的做网站、开小鸡等操作了。此时如果你再用SSH登录88.88.88.88,你应该能够登录上服务器B。

如果大家觉得有用或者有什么问题,欢迎在这里或者在我的博客上留言。本文作者为香菇肥牛,原文链接为https://qing.su/article/create-gre-tunnel-for-ipv4-mapping.html,转载需注明原文链接。谢谢大家的支持!


作者: taryn    时间: 2021-12-19 10:53
不错,收藏了
作者: fzaas    时间: 2021-12-19 10:56
不错,收藏了
把OVH的16IP给KS用
作者: shc    时间: 2021-12-19 11:20
fzaas 发表于 2021-12-19 10:56
不错,收藏了
把OVH的16IP给KS用


作者: mlcq    时间: 2021-12-19 11:35
大佬又出干货帖子啦,绑定(我刚入门的时候就看的qing.su博客的内容
作者: shc    时间: 2021-12-19 11:44
mlcq 发表于 2021-12-19 11:35
大佬又出干货帖子啦,绑定(我刚入门的时候就看的qing.su博客的内容)

感谢支持
作者: MSN    时间: 2021-12-19 11:45
知乎专业,收SYS账号~
作者: skycity    时间: 2021-12-19 11:45
但是我的ks不在一个地区
作者: 打包的香肠    时间: 2021-12-19 11:56
j技术贴
作者: aa8    时间: 2021-12-19 11:57
一年几千块啊这
作者: 花落无声    时间: 2021-12-19 12:23
感谢分享,技术贴,支持
作者: WebNX    时间: 2021-12-19 12:40
大佬又出干货教程  收藏先     我在OVH Cloud有IP  搞到ks上用道理是一样的吧
作者: hkvip8    时间: 2021-12-19 14:02
支持支持
作者: hitachi    时间: 2021-12-19 14:08
好文。
顺便 mark 一下,GRE 隧道是不加密的,所以不适合传输敏感数据。
作者: shc    时间: 2021-12-19 14:25
WebNX 发表于 2021-12-19 12:40
大佬又出干货教程  收藏先     我在OVH Cloud有IP  搞到ks上用道理是一样的吧

是哒~
作者: shc    时间: 2021-12-19 14:26
hitachi 发表于 2021-12-19 14:08
好文。
顺便 mark 一下,GRE 隧道是不加密的,所以不适合传输敏感数据。

确实
作者: uiceo    时间: 2021-12-19 14:57
厉害
作者: _____________Cc    时间: 2021-12-19 18:05
16贴回复  40个收藏 这帮MJJ呀
作者: logo    时间: 2021-12-19 18:34
mark
作者: Sakuya    时间: 2021-12-19 19:26
看了下讨论,觉得好像不如 WireGuard
作者: admin2    时间: 2021-12-19 19:52
牛哇牛哇,感谢大佬分享




欢迎光临 全球主机交流论坛 (https://hostloc-workers.ikyomon.com/) Powered by Discuz! X3.4