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

NAT有三种SNAT,DNAT和PNAT。
先简单介绍下。SNAT(源地址转换):目标地址不免,改写源地址,实现内网多用户使用同一个公网IP上网的情况。DNAT(目标地址转换):源地址不变重新修改目标地址。PNAT(端口映射):在DNAT基础上,实现内网IP端口对外网监听。
SNAT的实现方式:
先把Linux系统ipv4数据包的转发功能打开,系统就有了路由功能。
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
添加iptables的nat表项
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192168110/24 -j SNAT --to-source 20210xxxx
表示在postrouting链上,将内网源地址为192168110/24网段的数据包的源地址都转换为公网IP 20210xxxx。这样SNAT配置完毕,可以测试上网了。做NAT服务器的内网IP 19216811x 就是内网主机需要配置的网关地址。当然纯内网环境下,转换的成的IP也可以是另一个内网网段的IP。
SNAT还有一个常用选项:MASQUERADE。此选项可以用在动态获取IP地址的主机,如家用宽带拨号上网的主机。
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192168110/24 -o eth1 -j MASQUEREADE
在这里-o后面的网卡名是指定出去的接口,MASQUEREADE会调用该接口的地址作为转换后的源地址。
DNAT转换不多介绍了,用到的时候不多,格式如下:
[root@localhost ~]# iptables -t nat -A PREROUTING -d 20210xxXX -p tcp –-dport 8080 -j DNAT –-to-destination 19216811128:80
感兴趣的可以在网上搜一下nat原理。

Bit出现黄灯阻塞(你的监听端口无法被外网用户连接……请检查防火墙及NAT网关设置)2007-09-06 11:49
用BitCome下载,发现右下角,出现黄灯(阻塞,鼠标移上黄灯时提示“你的监听端口无法被外网用户连接,你的下载速度可能会受到
影响,请检查防火墙及NAT网关设置”)。
因为我的是ADSL宽带内网用户,所以下面解决办法仅针对ADSL内网:
以我的TpLink为例, 打开IE,输入网址:19216811,用户名/密码:admin(厂方初始的。如人为改动过,只有问管理员)进入路由器设置,
找到转发规则/DMZ主机,里面包含了关于NAT的设置,找到特殊应用程序,将要开放的端口手动开放,再把uPnP启用。
开放之后速度应该就上来了,再接着我们将虚拟服务器的设置再改一下,速度应该会更快一点,(这个内部ip很容易就查到的,我的是
1921681100)
按上搞定之后,重开Bit速度就上来了,你也试试吧。

附:查自己IP的方法,在网络邻居上点右键——属性——左键点击——双击本地连接
fjlmj 2008-05-18 09:30
a 知道你BT的端口,这个打开BT软件就可以看的见的。
b 进入路由器设置的网页
进行路由器WEB管理页面,转发规则-虚拟服务器和特殊应用程序项设置
在转发规则-虚拟服务器中填上A电脑的IP地址(内网地址,可通过天网或金山网镖查看A电脑IP地址),服务端口填BT软件端口,勾上“启用”

c 特殊应用程序中触发端口和开放端口填BT软件端口,勾上“启用”,其他不用管
d DMZ主机 中DMZ主机IP地址填A电脑IP地址, “启用”勾不勾无所谓
e UPnP设置 中当前UPnP状态必须开启动


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

原文地址: http://outofmemory.cn/zz/10889392.html

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

发表评论

登录后才能评论

评论列表(0条)

保存