看板 Network 關於我們 聯絡資訊
|--------------------| | | | ------------------ | 來自網際網路------- | | 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
wst2080:最快的方法...由於pfsense有內建cache dns server的功能 05/28 17:07
wst2080:去外頭申請一個public FQDN 然後內部也設定一樣但是IP指向 05/28 17:08
wst2080:是使用不同的(private IP) 這樣就解決了... 05/28 17:08
wst2080:印象中若你只想用IP連線的話,通常我會建議把外部一個選項 05/28 17:08
wst2080:取消勾選... Disable NAT Reflection 05/28 17:10
wst2080:Block private networks 這個也要取消勾選 05/28 17:12
wst2080:你先玩玩看~ 我自己的部份是只有在DNS上動手腳而已 05/28 17:12
BoHann:我申請了aaa.no-ip.org對應到NAT主機的public ip,從外可連 05/28 18:03
BoHann:那要如何讓內部的機器遇到aaa.no-ip.org的時候轉private ip 05/28 18:03
hacker79:防火牆設定/etc/host 加上 192.168.10.1 public_ip 05/28 18:17
hacker79:這樣不知道可不可以? 05/28 18:17
wst2080:理論上是不行的~ 因為/etc/host是給自己解晰用 05/28 20:38
wst2080:不過pfsense支援 DNS Forward 的功能 有簡易的解析功能 05/28 20:50
wst2080:反而可以設定這個部份~ 來提供DNS的遞轉解析 05/28 20:50
hacker79:喔喔~受教~ 05/28 22:43
wst2080:除非你在每台區網的設備設定 host 這個檔案,這樣你的方法 05/29 10:25
wst2080:就可以使用了... 而因為日後的網路茁壯成長... 05/29 10:25
wst2080:進而才會有DNS的發展~ 而pfsense有DNS Forward的功能 05/29 10:26
wst2080:所以在DHCP Server(通常架構亦多都是用DHCP) 或者 自身電 05/29 10:26
wst2080:腦當中設定第一組DNS的IP則建議為 pfsense 的 LAN IP 即可 05/29 10:27
wst2080:最快的方法就是外頭註冊一個FQDN (沒錢的話,就找dyndns吧) 05/29 10:27
wst2080:pfsense也支援dyndns client的功能... 05/29 10:28
wst2080:然後在DNS Forward的部份添加一個Record對應到Private IP 05/29 10:28
wst2080:這樣就可以完成設定了... 這算是安全以及簡單的一個考量 05/29 10:29
wst2080:一般來說~以安全的考量 private ip 是不建議從WAN流入 05/29 10:29
billboy:這是因為你連PUBLIC時~NAT的設備發現你連的是內部PRIVATE 06/05 14:29
billboy:的IP~所以會發ICMP REDIRECT的PACKET要你去連PRIVATE IP 06/05 14:31
billboy:可是你發出的REQUEST是PUBLIC造成的~ 06/05 14:32
billboy:我記的以前玩IPTABLE時要另外加一條RULE~~所以要看你的nat 06/05 14:33
billboy:軟體有沒有SUPPORT這種功能~~沒有的話就沒解~~ 06/05 14:34
billboy:跟DNS的設定應該是沒關係~~ 06/05 14:37
wst2080:最快的方式就是建置負責解析內部的DNS Server 搭配 Cache 06/05 15:14
wst2080:DNS Server 就算是解決了這個問題了... 06/05 15:14
wst2080:然後Private IP Area的部份就設定內部的DNS Server IP 06/05 15:15
wst2080:這是我所提出的解決方案... 06/05 15:16
wst2080:當然這樣的話也可以避免Private IP Loopback 的部份 06/05 15:16
billboy:這樣是利用DNS連~~不是用IP連啊~~其實BIND 9的VIEW也可以 06/05 23:07
billboy:作到讓內外不同的網路查到不同的DNS RECODER~如果要用DNS 06/05 23:08
billboy:去解這個問題~~ 06/05 23:09
wst2080:通常用DNS解決是最快的方式 也是最省事的方式 XD 06/05 23:53