前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >无公网服务器通过另一台有公网服务器联网

无公网服务器通过另一台有公网服务器联网

作者头像
布衣者
发布2021-09-07 11:39:26
2.7K0
发布2021-09-07 11:39:26
举报

本教程学习于无公网 CVM 通过带公网 CVM 出访公网,本人参考并学习此教程。

服务器条件

我的两台服务器: A有内网10.16.16.8 外网120.120.120.120 系统centos 7.9 B只有内网10.16.16.8 系统centos 7.9 两台服务器内网互通。(以上ip均虚拟)

原计划

原本我计划通过iptables来实现NAT功能,从而实现B服务器通过内网链接A服务器,从而通过公网访问互联网。但是碍于自己太小白,折腾半天也没能完成。也通过了tinyproxy实现部分功能,但是不是我想要的结果,不能实现任意代理。最终通过搜索看到上述文章进行学习。

公网服务器设置

  1. 首先安装PPTP模块,因为公网ip在此,所以设置为服务端
yum install -y pptpd
  1. 执行以下命令,打开 pptpd.conf 配置文件。按i进如编辑,编辑完成按esc退出编辑,按:wq保存文件。(按:qa则是不保存)
vim /etc/pptpd.conf

并在最下面添加两行代码,代码意思是通过虚拟网关实现,localip即本地的虚拟网关,remoteip是开放的网关ip,类似于路由器一样,分配给链接的服务器。

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

3.执行以下命令,打开 /etc/ppp/chap-secrets 配置文件。按i进如编辑,编辑完成按esc退出编辑,按:wq保存文件。(按:qa则是不保存)

vim /etc/ppp/chap-secrets

在下方添加如下格式代码:(根据示意自行更改用户名和面膜)

root    pptpd    123456    *

其分别代表这以下意思

用户名    pptpd    密码    *
  1. 此步骤是启动pptpd服务。
systemctl start pptpd

若想添加自启则执行以下命令,关闭则将on改为off

chkconfig pptpd on

5.同时还需要开启转发,及iptables功能。

echo 1 > /proc/sys/net/ipv4/ip_forward

以上命令为临时开启,重启消失。如想永久开启,则执行以下命令编辑,将net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1,即可。

vim /etc/sysctl.conf

开启iptables nat功能

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

若想自动生效,则安装iptables-services,之后开启功能,然后保存配置。并配置自启。

yum install iptables-services
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
service iptables save
systemctl enable iptables.service

内网服务器设置

1.安装PPTP和PPTP-SETUP,在centos无法安装pptp-setup,需要自行配置拨号文件(详见下面)。

yum install -y pptp pptp-setup

2.配置拨号文件,首先要知道公网服务器的内网ip,及10.16.16.8。创建了一个名为test的拨号文件

pptpsetup --create test --server 10.16.16.8 --username root --password 123456 --encrypt

其代表含义为

pptpsetup --create 配置文件的名称 --server 有公网 IP 的云服务器的内网 IP --username 连接 PPTP 的用户名 --password 连接 PPTP 的密码 --encrypt

3.进行拨号,test为配置文件

pppd call test

4.设置路由

route add -net 0.0.0.0 dev ppp0

若想3,4步骤开机自动生效。则在cd /etc/rc.d/init.d并创建个.sh文件,例如我的叫a.sh,内容如下

#!/bin/bash
#chkconfig:2345 65 65 //
pppd call test
sleep 5s
route add -net 0.0.0.0 dev ppp0

之后执行,即可实现自启。

chkconfig --add a.sh
chkconfig a.sh on

5.最后ping www.baidu.com,若能够ping通,则证明联网成功。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021年08月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 服务器条件
  • 原计划
  • 公网服务器设置
  • 内网服务器设置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档