找回密码
 立即注册
CeraNetworksBGVM服务器主机交流IP归属甄别会员请立即修改密码
查看: 21|回复: 2

【Linux教程系列】把SoYouStart的闲置IP挪给Kimsufi杜甫使用

[复制链接]

214

主题

1334

回帖

5550

积分

论坛元老

积分
5550
发表于 2021-12-19 10:50:58 | 显示全部楼层 |阅读模式
大家好呀,今天来介绍一下搭建GRE隧道的简单教程,把一台服务器的IP地址映射给另外一台服务器使用。之前写过一篇IPIP隧道的(https://hostloc.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,添加下面的语段:
[ol]
  • network:
  •     version: 2
  •     ethernets:
  •         网卡名:
  •             dhcp4: true
  •             match:
  •                 macaddress: 网卡MAC地址
  •             set-name: 网卡名
  •             addresses:
  •             - 88.88.88.88/32[/ol]复制代码
    然后输入命令让IP绑定生效:
    [ol]
  • netplan try
  • netplan apply[/ol]复制代码
    此时,如果你用SSH登录88.88.88.88,你应该能够登录上服务器A。

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

    在两台服务器上分别执行
    [ol]
  • modprobe ip_gre
  • lsmod | grep gre
  • apt-get install -y iptables iproute2[/ol]复制代码

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

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

    3, 搭建GRE隧道

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

    服务器B上执行:
    [ol]
  • ip tunnel add qingsu mode gre local 99.99.99.99 remote 88.88.88.88 ttl 255
  • ip addr add 10.0.0.2/30 dev qingsu
  • ip link set qingsu up[/ol]复制代码

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

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

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

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

    至此,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,转载需注明原文链接。谢谢大家的支持!







  • 回复

    使用道具 举报

    26

    主题

    780

    回帖

    2266

    积分

    金牌会员

    积分
    2266
    发表于 2021-12-19 10:53:41 | 显示全部楼层
    不错,收藏了
    回复

    使用道具 举报

    135

    主题

    1503

    回帖

    4317

    积分

    论坛元老

    积分
    4317
    发表于 2021-12-19 10:56:22 | 显示全部楼层
    不错,收藏了
    把OVH的16IP给KS用
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-4-29 18:06 , Processed in 0.064434 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表