我正试图建立一个牧场网站,并努力争取建立正确的网络。我的健康检查容器在“无寄主路线”方面失败了。我将IPTABLE规则与正在工作的Rancher站点进行了比较,并遇到了在working站点中设置的以下规则:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
CATTLE_NETWORK_POLICY all -- 10.42.0.0/16 10.42.0.0/16
CATTLE_FORWARD all -- anywhere anywhere
Chain CATTLE_FORWARD (1 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere mark match 0x1068
ACCEPT all -- anywhere anywhere mark match 0x4000
$ iptables-save | grep mark
-A CATTLE_RAW_PREROUTING ! -i docker0 -p udp -m udp --dport 500 -j MARK --set-xmark 0x1068/0xffffffff`
-A CATTLE_RAW_PREROUTING ! -i docker0 -p udp -m udp --dport 4500 -j MARK --set-xmark 0x1068/0xffffffff
-A CATTLE_FORWARD -m mark --mark 0x1068 -j ACCEPT
-A CATTLE_FORWARD -m mark --mark 0x4000 -j ACCEPT
我的问题:
mark match 0x168
和mark match 0x4000
?发布于 2020-06-24 22:45:50
在Linux主机中,IP数据包有一个名为packet的属性。那只是个数字。
这些规则接受被赋予数据包标记值0x1068或0x4000 (在PREROUTING
链的mangle
、raw
或nat
链中)的数据包。
我假设您在CATTLE_FORWARD
表中找到了filter
规则,在raw
表中找到了CATTLE_RAW_PREROUTING
规则。
# create the chain CATTLE_FORWARD
iptables -N CATTLE_FORWARD
iptables -t raw -N CATTLE_RAW_PREROUTING
# add the rules
iptables -A CATTLE_FORWARD -m mark --mark 0x1068 -j ACCEPT
iptables -A CATTLE_FORWARD -m mark --mark 0x4000 -j ACCEPT
iptables -t raw -A CATTLE_RAW_PREROUTING ! -i docker0 -p udp -m udp --dport 500 -j MARK --set-xmark 0x1068/0xffffffff
iptables -t raw -A CATTLE_RAW_PREROUTING ! -i docker0 -p udp -m udp --dport 4500 -j MARK --set-xmark 0x1068/0xffffffff
但这还不够。您还需要在不同的表中设置此值的规则。否则,上述规则不会起到任何作用。
https://unix.stackexchange.com/questions/594902
复制相似问题