A. routeros做了端口映射后,如何让内网通过域名访问服务器

假设
PC p.p.p.p
路由 r.r.r.r
服务器 s.s.s.s

数据包为
PC请求路由 (p.p.p.p -> r.r.r.r)

路由dstnat之后 (p.p.p.p -> s.s.s.s)
服务器收到后返回 (s.s.s.s -> p.p.p.p)
PC收到来自服务器s.s.s.s的数据。因为PC没有发过给服务器,就丢弃了。

增加srcnat即可
PC请求路由 (p.p.p.p -> r.r.r.r)

路由dstnat之后 (p.p.p.p -> s.s.s.s)
路由srcnat之后 (r.r.r.r -> s.s.s.s) ***
服务器收到后返回 (s.s.s.s -> r.r.r.r)
路由按之前的nat回路转发到PC ( r.r.r.r -> s.s.s.s)

add action=src-nat chain=srcnat comment=\
"Route loop from local lan to NATed services." dst-address-type=!local \
out-interface=bridged-local src-address=192.168.20.0/24 to-addresses=\
192.168.20.1
我这里有多个内网服务。这个规则可以将所有绕路由的数据都做srcnat。
也可以加上和dstnat对应的规则dst-address=192.168.20.200 dst-port=xxx

B. 如何让内网电脑通过域名访问自己的web服务器

1、在每台内网电脑中的hosts文件中写入服务器的域名和ip信息。这个办法麻烦点儿。
2、内网中建一个dns服务器,把每台内网电脑的dns设置为这个dns服务器。如果内网有dhcp的话,可以设置内网电脑为从dhcp获得ip地址,这样在获取ip的同时也能获取到dns了。

另外我觉得你的web服务器是不是ip策略设置有问题,才造成现在内网电脑访问不了?

C. 如何让内网通过域名访问内网服务器

购买域名,然后路由器映射服务器IP和端口,在域名网站的设置界面中,解析到服务器的外网IP和端口,具体操作你购买域名后,联系域名的客服人员,,但记得域名是要备案的

D. 如何让内网的CENTOS服务器能用域名访问

利用frp穿透技术,来实现你要的功能,不需要公网IP。毕竟现在公网IP运营商有很多限制:

以下文章转载自吴昊博客

frp内网穿透是通过一个带有公网IP的服务器进行中转,对被控主机实现反向代理,用户通过访问frps(中转服务器)来实现对frpc(被控主机)的远程访问。

frp流程图如下:

frp项目地址:https://github.com/fatedier/frp

本实验环境以阿里云服务器作为中转机,中转服务器使用Centos7.6,被控主机使用Centos7.6,用户使用Windows10由于网络原因,文中链接已经替换成了本地链接,如不放心,请自行去GitHub下载

frps中转服务器配置

1、下载frp

在一台有公网IP的主机上配置frps,我这里以阿里云Centos7.x主机为例

1 wget http://down.whsir.com/downloads/frp_0.27.0_linux_amd64.tar.gz

2 tar xf frp_0.27.0_linux_amd64.tar.gz

3 mv frp_0.27.0_linux_amd64 /usr/local

4 cd /usr/local/frp_0.27.0_linux_amd64

5 rm -f frpc*

2、配置frps

这里使用最基础的配置,bind_port 表示frp面板的监控端口,dashboard_user表示面板的登陆帐号,dashboard_pwd表示面板的登陆密码,其它不动。

1 vi

frps.ini

配置文件说明:

1 [common]

2 bind_port = 7000

3

4 dashboard_user = whsir

5 dashboard_pwd = blog.whsir.com

6 dashboard_port = 8000

3、启动frps

配置启动服务

1 vi /etc/systemd/system/frps.service

1 [Unit]

2 Description=frps daemon

3 After=syslog.target network.target

4 Wants=network.target

5

6 [Service]

7 Type=simple

8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frps -c /usr/local/frp_0.27.0_linux_amd64/frps.ini

9

10 [Install]

11 WantedBy=multi-user.target

技行以下两个命令

1 systemctl enable frps

2 systemctl start frps

4、访问监控平台

http://公网IP:8000

账号whsir

密码blog.whsir.com

如果访问不了,请使用ss -lnt命令检查端口是否启动,是否因为防火墙原因拦截。

至此frps中转服务器配置完成

frpc内网主机配置

1、内网主机下载frp

1 wget http://down.whsir.com/downloads/frp_0.27.0_linux_amd64.tar.gz

2 tar xf frp_0.27.0_linux_amd64.tar.gz

3 mv frp_0.27.0_linux_amd64 /usr/local

4 cd /usr/local/frp_0.27.0_linux_amd64

5 rm -f frps*

2、配置frpc

其中x.x.x.x表示frps中转服务器IP地址

ssh字段:local_port = 22示被控(内网)主机的ssh端口,remote_port = 6000表示ssh中转端口

web字段:local_port = 80表示被控(内网)主机的web端口,remote_port = 8081表示web中转端口

1 vi frpc.ini

1 [common]

2 server_addr = x.x.x.x

3 server_port = 7000

4

5 [ssh]

6 type = tcp

7 local_ip = 127.0.0.1

8 local_port = 22

9 remote_port = 6000

10

11 [web]

12 type = tcp

13 local_ip = 127.0.0.1

14 local_port = 80

15 remote_port = 8081

3、启动frpc

配置启动服务

1 vi /etc/systemd/system/frpc.service

1 [Unit]

2 Description=frpc daemon

3 After=syslog.target network.target

4 Wants=network.target

5

6 [Service]

7 Type=simple

8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frpc -c /usr/local/frp_0.27.0_linux_amd64/frpc.ini

9

10 [Install]

11 WantedBy=multi-user.target

执行如下命令

1 systemctl enable frpc

2 systemctl start frpc

至此frpc被控主机配置完成

此时可通过x.x.x.x:6000连接内网ssh,通过http://x.x.x.x:8081访问内网主机web,访问速度取决于带宽

这时候,内网主机就映射到外网去了,然后,用域名指定你的frp主机ip就可以了。这样就可以实现你的功能了。

E. 内网可以按域名访问, 外网不可以! 本地做服务器!

要想外网复访问,也是可以的制。但是只是暂时的; 因为你的公网IP是动态的
步骤如下:
1,网络下ip
2,域名解析 A记录 到 刚刚查到的ip
3,查看下自己的局域网ip
4,打开路由器,找到转发功能,设置转发到你的内网IP,80端口
5,本地IIS网站,需是80端口。