怎么搭建一个可以被外网访问的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/sysctlconf

netipv4ip_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 19216810/24 -o eth1 -j SNAT --to 202101012

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

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

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

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

或者:

# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 21 -j DNAT --to 192168111

# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 20 -j DNAT --to 192168111

#/etc/initd/iptablessave

#/etc/initd/iptablesrestart

验证:

内网访问外网的web服务:

[root@c1 ~]# curl 202101013

web

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

[root@c3 ~]# ftp 202101012

Connected to 202101012 (202101012)

220 (vsFTPd 222)

Name (202101012: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发布到外网

你再加一条指向内网的默认路由试试
。。。
ASA开NAT 最初要设置一条nat-control命令
关于默认路由
不是路由器or防火墙更或者三层交换机上面只能设一个
只要你所指的端口不同 你可以指上n条(n等于端口数)
偶所说的对内指静态路由 就是让你对inside端口也做一条默认路由
。。。
另外
你还应该在ACL列表里面做一条
permit tcp any host 10001 eq >现在华为的设备,如果用的是外网口地址,做法如下:
interface Ethernet0/0
ip address 21823240166 255255255252
nat outbound 2000
nat server protocol tcp global current-interface >举个例子来说明吧。现假设有这样一个环境:
Web服务器---------NAT路由器---------内部客户机
220971675 外:2181342 19216878
内:19216871
如上图(实在画得不好),内部客户机向Web服务器发送一个请求时,本来源地址是19216878,而目标地址应该是220971675。但经过NAT路由器的转换之后,原地址就变成了2181342,目标地址仍会是220971675。
反过来,Web服务器会回应我们的请求,那么这时源地址将会是220971675,目标地址是19216878。同样地,NAT路由器会处理这一请求,变成了源地址是19216871,目标地址是19216878
实际上,网络中数据的传输总是双向的,那么NAT路由器会同时转换请求与应答设备的源地址,以达到路由目的。

要想设置路由器外网访问首先确定你的WAN连接是静态IP还是动态IP,静态直接在IE里输入外网IP连接即可,动态需要在路由器配置页面上登录花生壳或者DDN之类的动态域名解析。
WEB服务器就是在路由器里设置>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13458263.html

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

发表评论

登录后才能评论

评论列表(0条)

保存