防火牆是否阻止回傳流量?

防火牆是否阻止回傳流量?

我在 Debian 7 上嘗試透過防火牆將請求轉發到其他機器,並進行以下設定:

--HOSTNAME-- ----IP-----  ------------Configuration-------------
Firewall     192.168.0.2  (Debian 7, firewalld,       static ip)
DHCP         192.168.0.3  (Debian 7, isc-dhcp-server, static ip)
DNS (Master) 192.168.0.4  (Debian 7, bind9m,          static ip)
DNS (Slave)  192.168.0.5  (Debian 7, bind9,           static ip)

我的firewalld在DNS上的規則(主從)

<zone>
  <short>Public</short>

  <port protocol="udp" port="53"/>
  <port protocol="tcp" port="53"/>
</zone>

我的firewalld規則在防火牆上

<zone>
  <short>Public</short>

  <forward-port to-addr="192.168.0.4" to-port="53" protocol="tcp" port="53"/>
  <forward-port to-addr="192.168.0.4" to-port="53" protocol="udp" port="53"/>
</zone>

當我嘗試

$ ping hostname.mylocaldomain.com

在任何一台機器上,它都是成功的,因為我已經在 resolv.conf 中進行了所有設定以使用我的 DNS 伺服器。問題是,我想透過防火牆路由所有流量。在不討論總體目標的情況下,我將描述手頭上的問題:

假設我將 DHCP 中的 /etc/resolv.conf 更改為指向防火牆,以允許它將請求路由到適當的位置:

search mylocaldomain.com
nameserver 192.168.0.4
nameserver 8.8.8.8
nameserver 8.8.4.4

ping 失敗,所以我使用了 tcp dump 並得到以下信息

# tcpdump port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
18:06:01.377752 IP PingFromMe.mylocaldomain.com.47588 > firewall.mylocaldomain.com.domain: 4279+ A? ns2.mylocaldomain.com. (34)
18:06:01.469696 IP PingFromMe.mylocaldomain.com.37619 > firewall.mylocaldomain.com.domain: 36025+ A? ns2.mylocaldomain.com.mylocaldomain.com. (47)
18:06:01.638045 IP firewall.mylocaldomain.com.42684 > ns1.mylocaldomain.com.domain: 41778+ PTR? 6.0.168.192.in-addr.arpa. (42)
18:06:01.639278 IP ns1.mylocaldomain.com.domain > firewall.mylocaldomain.com.42684: 41778* 1/2/0 PTR firewall.mylocaldomain.com. (113)
18:06:01.639486 IP firewall.mylocaldomain.com.36812 > ns1.mylocaldomain.com.domain: 54761+ PTR? 3.0.168.192.in-addr.arpa. (42)
18:06:01.639881 IP ns1.mylocaldomain.com.domain > firewall.mylocaldomain.com.36812: 54761* 1/2/0 PTR PingFromMe.mylocaldomain.com. (107)
18:06:02.641371 IP firewall.mylocaldomain.com.39348 > ns1.mylocaldomain.com.domain: 6957+ PTR? 4.0.168.192.in-addr.arpa. (42)
18:06:02.642031 IP ns1.mylocaldomain.com.domain > firewall.mylocaldomain.com.39348: 6957* 1/2/0 PTR ns1.mylocaldomain.com. (106)

不確定我是否正確地看待這個問題,但在我看來,一切正常,返回流量只是沒有被路由回 PingFromMe.mylocaldomain.com

我的問題有三個面向。

  • 我認為這裡發生的事情是我沒有獲得主機名稱解析的原因嗎?
  • 是不是firewalld沒有配置成這樣進行路由?
  • 當然,我該如何解決這個問題?

*註:IP應該與設定清單中的相同,因此在查看我的 tcp 擷取時,為了簡潔起見,請按主機名稱引用電腦。

相關內容