Linux

如何使用 IPtables 標記流量?

  • June 9, 2015

我正在嘗試標記流量,我code該如何寫以下內容IPtables?

/ip firewall mangle> add chain=prerouting src-address=10.1.1.1/32 action=mark-connection \
new-connection-mark=server_con

/ip firewall mangle> add chain=forward connection-mark=server_con action=mark-packet  \
new-packet-mark=server


/ip firewall mangle> add chain=prerouting src-address=10.1.1.2 
action=mark-connection new-connection-mark=workstation_con
/ip firewall mangle> add chain=prerouting src-address=10.1.1.3 
action=mark-connection new-connection-mark=workstation_con
/ip firewall mangle> add chain=prerouting src-address=10.1.1.4 
action=mark-connection new-connection-mark=workstation_con

/ip firewall mangle> add chain='''forward''' connection-mark=workstation_con  action=mark-packet \
new-packet-mark=workstations

以上code是開啟的mikrotik firewall,我想在上面實現它們LinuxBox

你可以很容易地將 MikroTik 防火牆規則轉換為 Linux iptables 規則。唯一真正的區別是 iptables 標記不太漂亮,牠喜歡 32 位標誌而不是漂亮的長名稱,但大多數時候“1”就足夠了。

根據 iptables 手冊頁:

  • add chain=prerouting:(-t mangle -A PREROUTING在 mangle PREROUTING 鏈的末尾附加一條新規則)
  • src-address=10.1.1.1/32: -s 10.1.1.1/32(觸發源地址為 10.1.1.1/32 的數據包)
  • action=mark-connection new-connection-mark=server_con:(-j CONNMARK --set-mark 1將這些連接標記為“1”)
  • connection-mark=workstation_con action=mark-packet new-packet-mark=workstations: -m connmark --mark 1 -j MARK --set-mark 1(用數據包標記“1”標記與連接“1”相關的所有數據包)

您應該能夠使用這些翻譯來創建一組規則來滿足您的需求。

引用自:https://unix.stackexchange.com/questions/208562