在上两篇文章中,我们提到了 Google 反代站和通用反代站,他们目前各有各的限制,比如想使用 Gmail 该怎么呢?这就是本篇文章要解决的问题。 |
您只需要租一台服务器,远程登录上去就可以使用该服务器隐藏您的真实 IP 了。
0 、租赁服务器:
Windows 远程登录还是比较容易的,在此不做过多赘述。本篇文章主要讨论 CentOS Linux 7 操作系统如何配置远程登录,本篇文章将以云主机厂商搬瓦工为例。
注意:
- 该云主机厂商可匿名注册账号,无需实名认证;
- 除信用卡支付以外,目前已支持微信支付和支付宝支付;
- 这里或这里均可领取 6 % OFF 的优惠码;
- 搬瓦工的服务器价格便宜,双核 CPU + 1 GB 物理内存 + 20 GB SSD 硬盘 + 一个月 1100 GB 的流量限制,一年仅需 49.99 美金,再加上 6 % 的优惠,根据现在的汇率计算,折合人民币一年约 320 元;
- 搬瓦工的服务器不提供 Windows 操作系统,仅提供主流的 Linux 操作系统(如 CentOS 、Ubuntu 和 Debian )。
如下图所示,Ricky 在搬瓦工租赁了一台 20G KVM VPS 。如果您资金充裕建议租赁 40G KVM VPS ,毕竟 20G KVM VPS 只有 1 GB 的物理内存,对于图形界面来说还是比较吃紧的。这里需要说明的是,搬瓦工基于 OpenVZ 的 CentOS Linux 7 服务器在安装 GNOME 桌面后网卡就 GG 了,不过现在搬瓦工也没有基于 OpenVZ 的服务器可以租赁了,全部都是基于 KVM 的了。

1 、重装系统:
如下图所示,进入服务器管理界面,我们需要将服务器的操作系统重装为 centos-7-x86_64 ;选中 “ centos-7-x86_64 ” ,再在 “ I agree that all existing data on my VPS will be lost . ” 处打勾,然后点击 “ Reload ” 。默认的操作系统是 centos-7-x86_64-bbr ,带有 BBR 的 Linux Kernel 版本比较高(目前是 5.x ),目前在使用 yum 安装 GNOME 桌面时会装不上,提示 rpm 包有冲突啥的,所以要换成 longterm 版本的 Linux kernel(也就是 3.x )。

紧接着会跳转至如下界面,这里显示了新的 SSH 端口号和新的 root 密码:

如下图所示,服务器开机后,Ricky 这里使用 SecureCRT( Windows 版、MacOS 版 )来 SSH 登录这台服务器:

2 、配置防火墙:
注意:CentOS Linux 7 自带的防火墙是 firewalld ,但本例中使用的是 iptables 防火墙,您习惯用哪个就用哪个。搬瓦工的 CentOS Linux 7 服务器,防火墙默认都是关闭的,无论是 firewalld 还是 iptables 。
firewalld 防火墙常用命令如下所示:
# 查看 firewalld 防火墙是否在运行: systemctl status firewalld.service # 查看 firewalld 防火墙是否开机自启动: systemctl is-enabled firewalld.service # 不允许 firewalld 防火墙开机自启动: systemctl disable firewalld.service # 查看firewalld 防火墙已放行的端口: firewall-cmd --zone=public --list-ports # 关闭 firewalld 防火墙: systemctl stop firewalld.service
现在我们先来安装来自阿里云的 EPEL 源,然后再安装 iptables 防火墙:
[root@desktop ~]# yum -y install wget [root@desktop ~]# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo [root@desktop ~]# yum clean all [root@desktop ~]# yum makecache [root@desktop ~]# yum -y install iptables
并配置防火墙(请根据实际需要进行相应地修改):
[root@desktop ~]# echo '#!/bin/bash iptables -F iptables -P INPUT DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT #---SSH--- iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport XXXX -j ACCEPT #---RDP--- iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3389 -j ACCEPT #---VNC--- iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5901 -j ACCEPT #---PING--- iptables -A INPUT -p icmp -m state --state NEW -j ACCEPT iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited' > /root/firewall.sh
其中 XXXX 为 SSH 的端口号,如 22 。
如果您只允许特定 IP 地址来访问 SSH 的 XXXX 端口、RDP 的 3389 端口和 VNC 的 5901 端口,可以这么配置(请根据实际需要进行相应地修改):
[root@desktop ~]# echo '#!/bin/bash iptables -F iptables -P INPUT DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT #---SSH--- iptables -A INPUT -s YYYY -p tcp --dport XXXX -j ACCEPT #---RDP--- iptables -A INPUT -s YYYY -p tcp --dport 3389 -j ACCEPT #---VNC--- iptables -A INPUT -s YYYY -p tcp --dport 5901 -j ACCEPT #---PING--- iptables -A INPUT -p icmp -m state --state NEW -j ACCEPT iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited' > /root/firewall.sh
其中 XXXX 为 SSH 的端口号,如 22 ;YYYY 为要放行的 IP 地址或者 IP 地址段,如 8.8.8.8/32 或者 192.168.1.0/24 。
设置脚本的访问权限并执行脚本,再设置开机自启动即可:
[root@desktop ~]# chmod a+x /root/firewall.sh [root@desktop ~]# sh /root/firewall.sh [root@desktop ~]# echo 'sh /root/firewall.sh' >> /etc/rc.local [root@desktop ~]# chmod +x /etc/rc.d/rc.local [root@desktop ~]# chmod +x /etc/rc.local
3 、更新系统:
更新完毕后建议使用 reboot 命令重启一下服务器:
[root@desktop ~]# yum -y update [root@desktop ~]# reboot
4 、安装 GNOME 桌面:
重启完成后,安装 GNOME 桌面:
[root@desktop ~]# yum groupinstall "X Window System" "GNOME Desktop" -y
下面这条命令是将操作系统的默认启动方式改为从图形界面启动,Ricky 个人觉得没有必要,默认从命令行启动就可以了,RDP 或者 VNC 远程登录再用图形界面就好:
[root@desktop ~]#systemctl set-default graphical.target
将默认启动方式改为从命令行启动,需使用下面这条命令(默认就是从命令行启动,无需执行):
[root@desktop ~]# systemctl set-default multi-user.target
5 、增加 Swap 交换分区的容量:
使用命令 free -m 我们可以看到,这台服务器物理内存只有 1 GB ,Swap 交换分区只有 259 MB(相当于 Windows 上的虚拟内存,即把一部分硬盘空间当做内存来使用;如需了解 free -m 命令的更多内容,请点击这里):
[root@desktop ~]# free -m
total used free shared buff/cache available
Mem: 1006 68 284 5 653 745
Swap: 259 1 258
[root@desktop ~]#
对于图形界面来说,只有 1 GB 物理内存显然是不够用的,随便用 Firefox 浏览器打开几个网页物理内存就要消耗掉几百 MB 了。如果您资金充足,大可购买配置更高的服务器;如果资金不够怎么办呢?那就增加 Swap 交换分区的容量,凑合着用。
此时 Ricky 打算再把 2GB 的硬盘空间划给 Swap 交换分区,具体命令如下所示:
[root@desktop ~]# dd if=/dev/zero of=/swap1 bs=1M count=2048
设置交换分区文件:
[root@desktop ~]# mkswap /swap1
启动 Swap :
[root@desktop ~]# swapon /swap1
设置开机时自动启动 Swap 交换分区:
echo '/swap1 swap swap defaults 0 0' >> /etc/fstab
我们现在使用命令 free -m 来看一下,Swap 交换分区的容量已经加大了:
[root@desktop ~]# free -m
total used free shared buff/cache available
Mem: 1006 70 64 5 871 764
Swap: 2307 1 2306
[root@desktop ~]#
重启后再看看,没有问题:
[root@desktop ~]# reboot
重启后:
[root@desktop ~]# free -m
total used free shared buff/cache available
Mem: 1006 94 722 7 190 754
Swap: 2307 0 2307
[root@desktop ~]#
6 、配置 RDP :
先安装 XRDP ,然后启动 XRDP 服务,并将 XRDP 服务设置为开机自启动:
[root@desktop ~]# yum -y install xrdp [root@desktop ~]# systemctl start xrdp.service [root@desktop ~]# systemctl enable xrdp.service
我们怎么知道 XRDP 服务启动成功了呢?可使用如下命令查看服务的状态:
[root@desktop ~]# systemctl status xrdp.service
● xrdp.service - xrdp daemon
Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2019-06-21 04:06:38 EDT; 28s ago
Docs: man:xrdp(8)
man:xrdp.ini(5)
Main PID: 3772 (xrdp)
CGroup: /system.slice/xrdp.service
└─3772 /usr/sbin/xrdp --nodaemon
Jun 21 04:06:38 desktop systemd[1]: Started xrdp daemon.
Jun 21 04:06:38 desktop xrdp[3772]: (3772)(139810483972544)[INFO ] starting xrdp with pid 3772
Jun 21 04:06:38 desktop xrdp[3772]: (3772)(139810483972544)[INFO ] listening to port 3389 on 0.0.0.0
[root@desktop ~]#
也可以使用如下命令查看 XRDP 服务是否有在监听相关端口( RDP 默认使用 3389 端口,与 Windows 一致):
[root@desktop ~]# netstat -ntlp | grep xrdp tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN 3771/xrdp-sesman tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN 3772/xrdp [root@desktop ~]#
因为我们的防火墙已经放行了 3389 端口,所以我们现在尝试使用 RDP 来远程登录这台服务器。
以 Windows 7 操作系统为例,先按 Windows 微标键 + R ,输入 mstsc ,然后点击 “ 确定 ”(如下图所示):

接着会打开如下窗口,输入您服务器的 IP 地址,然后点击 “ 连接 ”:

接着在如下窗口输入您 CentOS Linux 7 的 root 账号和密码:

登录后就可以看到 GNOME 桌面了:

打开 Firefox 浏览器,访问 Gmail 自然也是没有问题的了:

至此,RDP 远程登录配置完毕。
7 、配置 VNC :
先安装 tigervnc-server :
[root@desktop ~]# yum -y install tigervnc-server
Ricky 建议创建一个新的 Linux 账号用于 VNC 登录(这里创建的 Linux 账号名称为 vnc ),并设置 VNC 登录密码:
[root@desktop ~]# adduser vnc
[root@desktop ~]# su vnc
[vnc@desktop root]$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
[vnc@desktop root]$
接下来需要将 VNC 默认的配置文件复制一份到系统目录 /etc/systemd/system/ 中:
[vnc@desktop root]$ exit [root@desktop ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
在 @ 后面的数字 1 表示的是显示界面的序列号,对应的端口是 port 5900 + 序列号。对于每一个启动的 VNC 服务,端口号 5900 会自增 1 。
我们先来看一下这份配置文件,如下两处地方需要进行修改,需要将其替换为刚刚创建的 Linux 账号名称:
[root@desktop ~]# cat /etc/systemd/system/vncserver@\:1.service # The vncserver service unit file # # Quick HowTo: # 1. Copy this file to /etc/systemd/system/vncserver@.service # 2. Replace <USER> with the actual user name and edit vncserver # parameters appropriately # (ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i" # PIDFile=/home/<USER>/.vnc/%H%i.pid) # 3. Run `systemctl daemon-reload` # 4. Run `systemctl enable vncserver@:<display>.service` # # DO NOT RUN THIS SERVICE if your local area network is # untrusted! For a secure way of using VNC, you should # limit connections to the local host and then tunnel from # the machine you want to view VNC on (host A) to the machine # whose VNC output you want to view (host B) # # [user@hostA ~]$ ssh -v -C -L 590N:localhost:590M hostB # # this will open a connection on port 590N of your hostA to hostB's port 590M # (in fact, it ssh-connects to hostB and then connects to localhost (on hostB). # See the ssh man page for details on port forwarding) # # You can then point a VNC client on hostA at vncdisplay N of localhost and with # the help of ssh, you end up seeing what hostB makes available on port 590M # # Use "-nolisten tcp" to prevent X connections to your VNC server via TCP. # # Use "-localhost" to prevent remote VNC clients connecting except when # doing so through a secure tunnel. See the "-via" option in the # `man vncviewer' manual page. [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i" PIDFile=/home/<USER>/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target [root@desktop ~]#
可使用如下命令进行替换:
[root@desktop ~]# sed -i "s#^ExecStart=/usr/sbin/runuser -l <USER>#ExecStart=/usr/sbin/runuser -l vnc#g" /etc/systemd/system/vncserver@\:1.service [root@desktop ~]# sed -i "s#^PIDFile=/home/<USER>#PIDFile=/home/vnc#g" /etc/systemd/system/vncserver@\:1.service
重新运行系统 systemd 的初始化程序以便使新的配置文件生效,然后启动 tigervnc-server 服务,并将 tigervnc-server 服务设置为开机自启动:
[root@desktop ~]# systemctl daemon-reload [root@desktop ~]# systemctl start vncserver@:1 [root@desktop ~]# systemctl enable vncserver@:1
我们怎么知道 tigervnc-server 服务启动成功了呢?可使用如下命令查看服务的状态:
[root@desktop ~]# systemctl status vncserver@:1
[0m vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2019-06-22 03:00:29 EDT; 20s ago
Main PID: 31750 (Xvnc)
CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
31750 /usr/bin/Xvnc :1 -auth /home/vnc/.Xauthority -desktop desktop:1 (vnc) -fp catalogue:/etc/...
Jun 22 03:00:26 desktop systemd[1]: Starting Remote desktop service (VNC)...
Jun 22 03:00:29 desktop systemd[1]: Started Remote desktop service (VNC).
[root@desktop ~]#
也可以使用如下命令查看 tigervnc-server 服务是否有在监听相关端口( VNC 默认使用 59XX 端口):
[root@desktop ~]# netstat -ntlp | grep vnc tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 31750/Xvnc tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 31750/Xvnc tcp 0 0 127.0.0.1:5910 0.0.0.0:* LISTEN 3943/Xvnc tcp6 0 0 :::5901 :::* LISTEN 31750/Xvnc tcp6 0 0 :::6001 :::* LISTEN 31750/Xvnc tcp6 0 0 ::1:5910 :::* LISTEN 3943/Xvnc [root@desktop ~]#
此时强烈建议重启一下服务器:
[root@desktop ~]# reboot
因为我们的防火墙已经放行了 5901 端口,所以我们现在尝试使用 VNC Viewer 来远程登录这台服务器。
先下载 VNC Viewer ,以 64 位 Windows 操作系统为例,先选择 “ Standalone EXE x64 ” ,然后点击 “ Download VNC Viewer ”(如下图所示):

如下图所示,Standalone EXE 版本的 VNC Viewer 无需安装,直接运行即可使用;在输入框输入 ” IP 地址:端口号 ” ,然后回车即可连接服务器:

这里只需要输入密码就可以了,无需输入账号,因为 5901 端口已经和名为 “ vnc ” 的 Linux 账号绑定在一起了:

如下图所示,成功连接上了!

不过你可能会发现画质不太好,所以我们需要调整一下。如下图所示,右键单击这台服务器,选择 “ Properties ” :

如下图所示,再选择 “ Options ” 选项卡,将 “ Picture quality ” 设置为 “ High ” ,然后点击 “ OK ” 即可:

再连接一次,画质清晰了好多:

上 Gmail 自然也是轻轻松松:

至此,VNC 远程登录配置完毕。
8 、痕迹清理:
痕迹清理是非常简单的:在您需要清理痕迹的时候,将操作系统重装掉即可。
9 、更换 IP :
搬瓦工更换 IP 是需要收费的,具体更换 IP 的页面请点击这里。
欢迎享用。
本篇文章欢迎转载,转载无需注明出处。
如有疑问,欢迎在下方留言;如本文有什么错误,欢迎在下方留言指正,谢谢。
发表评论?