作者BoHann (Happy whole(虎)year!)
看板Network
标题[问题] 请问NAT的规则设定
时间Fri May 28 14:11:54 2010
|--------------------|
| |
| ------------------ |
来自网际网路------- | | public_ip | |
| ------------------ |
| |
| |
| ------------------ | --------------------
| | 192.168.10.254 | | -------------| switch 交换器 |
| ------------------ | --------------------
| | |
|--------------------| |
----------------------
插了两张网卡的机器 | (WWW) 192.168.10.1 |
当简单防火墙和NAT ----------------------
各位好:
这是我实验的一个网路架构,用一台电脑插两张网路卡做NAT的功能,内部用虚拟ip
其中有一个虚拟ip(192.168.10.1)架设WWW站。
目前会做port的对应,所以来自网际网路,要存取
http://public_ip/ 的话,
其实是对应到192.168.10.1,可以看网页内容没有问题。
而虚拟ip 192.168.10.1 也可以连上网际网路。
但我有一个规则不会设,请帮帮我
内部虚拟ip的机器,要存取这个WWW站,都只能用
http://192.168.10.1/ 去呼叫,
要怎麽设定规则才能够让内部机器也可以用
http://public_ip/ 去呼叫这台WWW主机呢?
注:我是用pfsense架设NAT和简单防火墙的功能
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.37.198.3
1F:→ wst2080:最快的方法...由於pfsense有内建cache dns server的功能 05/28 17:07
2F:→ wst2080:去外头申请一个public FQDN 然後内部也设定一样但是IP指向 05/28 17:08
3F:→ wst2080:是使用不同的(private IP) 这样就解决了... 05/28 17:08
4F:→ wst2080:印象中若你只想用IP连线的话,通常我会建议把外部一个选项 05/28 17:08
5F:→ wst2080:取消勾选... Disable NAT Reflection 05/28 17:10
6F:→ wst2080:Block private networks 这个也要取消勾选 05/28 17:12
7F:→ wst2080:你先玩玩看~ 我自己的部份是只有在DNS上动手脚而已 05/28 17:12
8F:→ BoHann:我申请了aaa.no-ip.org对应到NAT主机的public ip,从外可连 05/28 18:03
9F:→ BoHann:那要如何让内部的机器遇到aaa.no-ip.org的时候转private ip 05/28 18:03
10F:→ hacker79:防火墙设定/etc/host 加上 192.168.10.1 public_ip 05/28 18:17
11F:→ hacker79:这样不知道可不可以? 05/28 18:17
12F:→ wst2080:理论上是不行的~ 因为/etc/host是给自己解晰用 05/28 20:38
13F:→ wst2080:不过pfsense支援 DNS Forward 的功能 有简易的解析功能 05/28 20:50
14F:→ wst2080:反而可以设定这个部份~ 来提供DNS的递转解析 05/28 20:50
15F:→ hacker79:喔喔~受教~ 05/28 22:43
16F:→ wst2080:除非你在每台区网的设备设定 host 这个档案,这样你的方法 05/29 10:25
17F:→ wst2080:就可以使用了... 而因为日後的网路茁壮成长... 05/29 10:25
18F:→ wst2080:进而才会有DNS的发展~ 而pfsense有DNS Forward的功能 05/29 10:26
19F:→ wst2080:所以在DHCP Server(通常架构亦多都是用DHCP) 或者 自身电 05/29 10:26
20F:→ wst2080:脑当中设定第一组DNS的IP则建议为 pfsense 的 LAN IP 即可 05/29 10:27
21F:→ wst2080:最快的方法就是外头注册一个FQDN (没钱的话,就找dyndns吧) 05/29 10:27
22F:→ wst2080:pfsense也支援dyndns client的功能... 05/29 10:28
23F:→ wst2080:然後在DNS Forward的部份添加一个Record对应到Private IP 05/29 10:28
24F:→ wst2080:这样就可以完成设定了... 这算是安全以及简单的一个考量 05/29 10:29
25F:→ wst2080:一般来说~以安全的考量 private ip 是不建议从WAN流入 05/29 10:29
26F:推 billboy:这是因为你连PUBLIC时~NAT的设备发现你连的是内部PRIVATE 06/05 14:29
27F:→ billboy:的IP~所以会发ICMP REDIRECT的PACKET要你去连PRIVATE IP 06/05 14:31
28F:→ billboy:可是你发出的REQUEST是PUBLIC造成的~ 06/05 14:32
29F:→ billboy:我记的以前玩IPTABLE时要另外加一条RULE~~所以要看你的nat 06/05 14:33
30F:→ billboy:软体有没有SUPPORT这种功能~~没有的话就没解~~ 06/05 14:34
31F:推 billboy:跟DNS的设定应该是没关系~~ 06/05 14:37
32F:→ wst2080:最快的方式就是建置负责解析内部的DNS Server 搭配 Cache 06/05 15:14
33F:→ wst2080:DNS Server 就算是解决了这个问题了... 06/05 15:14
34F:→ wst2080:然後Private IP Area的部份就设定内部的DNS Server IP 06/05 15:15
35F:→ wst2080:这是我所提出的解决方案... 06/05 15:16
36F:→ wst2080:当然这样的话也可以避免Private IP Loopback 的部份 06/05 15:16
37F:→ billboy:这样是利用DNS连~~不是用IP连啊~~其实BIND 9的VIEW也可以 06/05 23:07
38F:→ billboy:作到让内外不同的网路查到不同的DNS RECODER~如果要用DNS 06/05 23:08
39F:→ billboy:去解这个问题~~ 06/05 23:09
40F:→ wst2080:通常用DNS解决是最快的方式 也是最省事的方式 XD 06/05 23:53