兩塊網卡-阻止其中之一的端口


2

我有兩個網卡 eno1 (ip:12.34.56.78)和 eno2 (44.55.66.77)。

我還在運行的特定端口(例如 8888 )上有一項服務。

我想允許通過 eno1 的流量訪問該服務,但想通過 eno2 丟棄任何數據包到該端口。

我使用以下iptables規則進行了嘗試:

iptables -A INPUT -i eno2 -p tcp --dport 8888 -j DROP

與此同時(我的一些規則中也包含了這個奇怪的垃圾關鍵字):

iptables -A INPUT -i eno2 -p tcp -m tcp --dport 8888 -j garbage

但是,該服務仍然可以通過NIC及其相應的ip使用。

請對此給予啟發。

該服務作為 docker容器運行。




編輯評論:

iptables -S包含:

-P INPUT DROP
1

1st Approach: specify the destination ip address

Iptables -I INPUT 1 -p tcp --dport 8888 -d 44.55.66.77 -j DROP

2nd Approach: blocking all trafic except that one designated to ip address from 1st NIC

iptables -A INPUT -d 12.34.56.78 -p tcp --dport 8888 -j ACCEPT
iptables -A INPUT -p tcp --dport 8888 -j DROP

Explanation: As long as the traffic is designated to that particular ip addres, doesn't matter what is the interface from which is comming from.