首页 杂烩分享

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


本教程学习于无公网 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通,则证明联网成功。





文章评论

    Teacher Du 访客FireFoxLinux
    2021-09-2 14:53   回复

    无需装pptp,直接通过iptables地址伪装就行了

      布衣者 站长ChromeWindows
      2021-09-2 17:20   回复

      看来还要好好学iptables,我还以为不能行呐

    苹果 访客ChromeAndroid
    2021-08-29 23:24   回复

    加油

      布衣者 站长ChromeWindows
      2021-08-30 9:16   回复

      嘿嘿,参考的别人的文章。

    苹果 访客ChromeAndroid
    2021-08-29 23:23   回复

    困死啦

目录