作者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