怎么搭建一个可以被外网访问的linux web服务器

怎么搭建一个可以被外网访问的linux web服务器,第1张

首先需要将你的web服务器搭建好,然后需要做NAT,我这里有我的一个做NAT的笔记,分享给你

NAT

拓扑结构图:

要求:

1.内网能够ping通外网地址,并且成功访问外网中的web服务;

2.外网能够访问内网的ftp服务。

步骤:

一:内网服务器配置

1.在内网中设置好ip地址,网关和DNS均为NAT服务器内网口地址,并搭建好ftp服务,此处略

二:NAT服务器配置

1.在NAT只能中添加一块网卡作为 外网卡,并设置好ip地址

2.开启NAT服务器的路由功能

[root@c2 ~]# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1              //将0改为1

[root@c2 ~]# sysctl -p                //永久生效

3.配置防火墙(必须按照以下循序配置,否则配置完成后不能拼通外网,需配置第二次)

#iptables-X

#iptables-t nat -X

#iptables --flush

#iptables -t nat --flush

//以上为重置链表的命令

#iptables-t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 202.10.10.12

//这条命令是将内网192.168.1.0/24的源地址映射为NAT服务器的外网口地址,eth1为外网卡

# iptables -t nat -A PREROUTING -p tcp--dport 21 -j DNAT --to 192.168.1.11

# iptables -t nat -A PREROUTING -p tcp--dport 20 -j DNAT --to 192.168.1.11

//这两条命令是发布内务的ftp服务

或者:

# iptables -t nat -A PREROUTING -p tcp -d 202.10.10.12--dport 21 -j DNAT --to 192.168.1.11

# iptables -t nat -A PREROUTING -p tcp -d 202.10.10.12--dport 20 -j DNAT --to 192.168.1.11

#/etc/init.d/iptablessave

#/etc/init.d/iptablesrestart

验证:

内网访问外网的web服务:

[root@c1 ~]# curl 202.10.10.13

web

外网访问内网的ftp服务(外网的防火墙一定要关闭,否则ls查看目录时会出错,或者打开外网的20号端口新建链接的也可以)#

[root@c3 ~]# ftp 202.10.10.12

Connected to 202.10.10.12 (202.10.10.12).

220 (vsFTPd 2.2.2)

Name (202.10.10.12:root): ftp01

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>ls

227 Entering Passive Mode(192,168,1,11,93,1).

ftp: connect: Network isunreachable     //列不出内容是因为进入了passive模式

ftp>passive                                                      //用passive命令切换passive模式和active模式

Passivemode off.

ftp>ls

200 PORT command successful. Consider usingPASV.

150 Here comes the directory listing.

226 Directory send OK.

ftp>

补充:

删除防火墙中配置的记录

[root@c2 ~]# iptables -t nat  -L POSTROUTING -n --line-number   //列出记录和记录序号

[root@c2 ~]# iptables -t nat -D POSTROUTING1                 //根据序号删除记录

你将内网的ftp服务换成web服务就可以了,主要是弄懂NAT的原理,将内部服务通过DNAT发布到外网

1、下载个Serv-u, 解压并安装,打开软件后 界面如下图,点击域详细信息下的“配置域的监听器”。

2、进入监听器选项卡界面后,点击左下角“添加”按钮。

3、弹出“监听器”的对话框,请按下图填写内容,端口最好填写缺省的“21”,启用监听器前面要勾选,PASV IP一定要填写,输入运营商给的静态IP地址,如果不是静态IP,只能通过其他软件解析,输入完成后点保存。

4、点击左上角,返回主页面,单击右边倒数第二个菜单“服务器限制和设置”。

5、在弹出的界面中,我们选择"设置"选项卡,进入设置界面。

6、进入设置界面后往下拉到最下面,填写PASV端口范围,例如2000-2049,设置好后点保存,公网访问FTP的设置服务器端已经设置好了。

本地安装了一个Web服务端,只能在局域网内访问,怎样从外网也能访问到本地的Web呢?本文将介绍具体的实现步骤。

1. 准备工作

1.1 安装并启动Web服务端

默认安装的Web服务端的端口是8080。

2. 实现步骤

2.1 下载并解压holer软件包

Holer软件包:holer-xxx.tar.gz

Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包。

2.2 获取holer access key信息

在holer官网上申请专属的holer access key或者使用开源社区上公开的access key信息。

例如申请得到的holer信息如下,这里以此holer信息为例:

---------------------------------------------Holer Client : holerdemo@gmail.com

Access Key : 6688daebe02846t88s166733595eee5d---------------------------------------------Domain Name : holer65004.wdom.net

Internet Address : holer.org:65004

Local Address : 127.0.0.1:8080---------------------------------------------

2.3 启动holer服务

Windows系统平台:

打开CMD窗口进入可执行程序所在的目录下,执行命令:

holer-windows-xxx.exe -k 6688daebe02846t88s166733595eee5d

Linux或者其他系统平台:

执行命令nohup ./holer-xxx-xxx -k 6688daebe02846t88s166733595eee5d &

2.4 访问映射后的公网地址

浏览器里输入如下URL,就可在公网上也能访问到本地的Web了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/227321.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-08
下一篇2023-04-08

发表评论

登录后才能评论

评论列表(0条)

    保存