做了一个网站,局域网能访问了,要让外网也可以访问,可以参考以下 *** 作来解决问题:
1、先了解一下什么是动态域名解析和内网映射。接下来的 *** 作与其相关;
动态域名解析:用域名代替本地动态公网IP。用于解决动态公网IP和实时获取本地最新公网IP。一般用于动态公网IP环境搭建应用和发布网站外网访问。
内网映射:可以将内网应用映射外网访问。
2、公网环境之nat123动态域名解析的使用。通过客户端或>
3、公网环境之dnspod动态解析。类似方法使用,可以通过客户端或API调用实现。
4、内网环境之nat123映射使用。对于内网和端口受限制等复杂网络环境,利用映射工具将内网地址映射外网访问。映射类型有:80映射、>
5、还有一个国外的应用哈蟆吃也是一个P2P工具。可以搭建一个虚拟局域网,常用于游戏联机什么的。如果以上方法都不能解决问题,建议请专业的工作人员上门帮忙配置。
首先需要将你的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发布到外网
# 内网网口lan_if=eth0
# 外网网口
wan_if=cloudbr0
wan_vip_ip="1921681102/24 192168100/24" #外网可以访问内网的IP或IP网段,如果没有,可以为""。
# 特定外网IP可以访问内网,其余外网IP不能访问内网
for vip_ip in $wan_vip_ip; do
iptables -A FORWARD -i $wan_if -o $lan_if -s $vip_ip -j ACCEPT iptables -A FORWARD -i $wan_if -o $lan_if -s $vip_ip -j ACCEPT
iptables -A FORWARD -i $wan_if -o $lan_if -s $vip_ip -j ACCEPT
done
iptables -A FORWARD -i $wan_if -o $lan_if -j DROP
# 内网可以访问外网
iptables -A FORWARD -i $lan_if -o $wan_ip -j ACCEPT一般的服务器托管中心,都有几G的互联网主干接入。人家那边的网速是你的好多倍,你家里的互联网是以M为单位的,人家是G。还有固定的IP地址。
和你的曲别就是,人家是有门牌号有固定资产房产证的(只需要交物业费。),而你是住酒店的。可以住一天,也可以包月。
内网服务器 就是在你家里,有两台以上电脑联网,其中一台可以做服务器。用内网的固定IP只可以你自己访问。当然如果开放了权限,外网的人也可以通过你的电脑访问到内网服务器。有很多入侵校园网的黑客。就是这样实现的入侵。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)