Merge NPM Port Rules Properly (#456)
* Fix NPM port rules * Add port entry logic for ipblock, namespace, and pod selector; Fix tests. * removing unnecessary hops between chains
This commit is contained in:
Родитель
b4f9840815
Коммит
8ae2c0a3a2
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -97,7 +97,7 @@ func TestCraftPartialIptablesCommentFromPort(t *testing.T) {
|
|||
}
|
||||
|
||||
comment = craftPartialIptablesCommentFromPort(portRule, util.IptablesDstPortFlag)
|
||||
expectedComment = "TCP-OF-"
|
||||
expectedComment = "TCP"
|
||||
|
||||
if !reflect.DeepEqual(comment, expectedComment) {
|
||||
t.Errorf("TestCraftPartialIptablesCommentFromPort failed @ tcp comment comparison")
|
||||
|
@ -111,7 +111,7 @@ func TestCraftPartialIptablesCommentFromPort(t *testing.T) {
|
|||
}
|
||||
|
||||
comment = craftPartialIptablesCommentFromPort(portRule, util.IptablesDstPortFlag)
|
||||
expectedComment = "PORT-8000-OF-"
|
||||
expectedComment = "PORT-8000"
|
||||
|
||||
if !reflect.DeepEqual(comment, expectedComment) {
|
||||
t.Errorf("TestCraftPartialIptablesCommentFromPort failed @ port 8000 comment comparison")
|
||||
|
@ -125,7 +125,7 @@ func TestCraftPartialIptablesCommentFromPort(t *testing.T) {
|
|||
}
|
||||
|
||||
comment = craftPartialIptablesCommentFromPort(portRule, util.IptablesDstPortFlag)
|
||||
expectedComment = "TCP-PORT-8000-OF-"
|
||||
expectedComment = "TCP-PORT-8000"
|
||||
|
||||
if !reflect.DeepEqual(comment, expectedComment) {
|
||||
t.Errorf("TestCraftPartialIptablesCommentFromPort failed @ tcp port 8000 comment comparison")
|
||||
|
@ -603,7 +603,7 @@ func TestTranslateIngress(t *testing.T) {
|
|||
}
|
||||
|
||||
util.IsNewNwPolicyVerFlag = true
|
||||
sets, lists, iptEntries, _ := translateIngress(ns, targetSelector, rules)
|
||||
sets, lists, iptEntries := translateIngress(ns, targetSelector, rules)
|
||||
expectedSets := []string{
|
||||
"context:dev",
|
||||
"testNotIn:frontend",
|
||||
|
@ -634,8 +634,19 @@ func TestTranslateIngress(t *testing.T) {
|
|||
|
||||
expectedIptEntries := []*iptm.IptEntry{
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("context:dev"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesNotFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -646,6 +657,21 @@ func TestTranslateIngress(t *testing.T) {
|
|||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testIn:frontend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesProtFlag,
|
||||
string(v1.ProtocolTCP),
|
||||
util.IptablesDstPortFlag,
|
||||
"6783",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-app:db-AND-testIn:frontend-AND-TCP-PORT-6783-TO-context:dev-AND-!testNotIn:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -657,17 +683,6 @@ func TestTranslateIngress(t *testing.T) {
|
|||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-app:db-AND-testIn:frontend-TO-context:dev-AND-!testNotIn:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -678,27 +693,20 @@ func TestTranslateIngress(t *testing.T) {
|
|||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("ns-testIn:frontendns"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("context:dev"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesNotFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesProtFlag,
|
||||
string(v1.ProtocolTCP),
|
||||
util.IptablesDstPortFlag,
|
||||
"6783",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ns-ns:dev-AND-ns-testIn:frontendns-TO-context:dev-AND-!testNotIn:frontend",
|
||||
"ALLOW-ns-ns:dev-AND-ns-testIn:frontendns-AND-TCP-PORT-6783-TO-context:dev-AND-!testNotIn:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -732,21 +740,21 @@ func TestTranslateIngress(t *testing.T) {
|
|||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesProtFlag,
|
||||
string(v1.ProtocolTCP),
|
||||
util.IptablesDstPortFlag,
|
||||
"6783",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ns-planet:earth-AND-ns-keyExists-AND-region:northpole-AND-!k-TO-context:dev-AND-!testNotIn:frontend",
|
||||
"ALLOW-ns-planet:earth-AND-ns-keyExists-AND-region:northpole-AND-!k-AND-TCP-PORT-6783-TO-context:dev-AND-!testNotIn:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesProtFlag,
|
||||
string(v1.ProtocolTCP),
|
||||
util.IptablesDstPortFlag,
|
||||
"6783",
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -759,34 +767,11 @@ func TestTranslateIngress(t *testing.T) {
|
|||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureIngressFromChain,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-TCP-PORT-6783-OF-context:dev-AND-!testNotIn:frontend-TO-JUMP-TO-" +
|
||||
util.IptablesAzureIngressFromChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("context:dev"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesNotFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesDrop,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"DROP-ALL-TO-context:dev-AND-!testNotIn:frontend",
|
||||
"ALLOW-ALL-TO-context:dev-AND-!testNotIn:frontend-TO-JUMP-TO-AZURE-NPM-TARGET-SETS",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -895,7 +880,7 @@ func TestTranslateEgress(t *testing.T) {
|
|||
}
|
||||
|
||||
util.IsNewNwPolicyVerFlag = true
|
||||
sets, lists, iptEntries, _ := translateEgress(ns, targetSelector, rules)
|
||||
sets, lists, iptEntries := translateEgress(ns, targetSelector, rules)
|
||||
expectedSets := []string{
|
||||
"context:dev",
|
||||
"testNotIn:frontend",
|
||||
|
@ -926,19 +911,8 @@ func TestTranslateEgress(t *testing.T) {
|
|||
|
||||
expectedIptEntries := []*iptm.IptEntry{
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressToChain,
|
||||
Chain: util.IptablesAzureEgressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("context:dev"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesNotFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -949,17 +923,10 @@ func TestTranslateEgress(t *testing.T) {
|
|||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testIn:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-context:dev-AND-!testNotIn:frontend-TO-app:db-AND-testIn:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressToChain,
|
||||
Specs: []string{
|
||||
util.IptablesProtFlag,
|
||||
string(v1.ProtocolTCP),
|
||||
util.IptablesDstPortFlag,
|
||||
"6783",
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -971,6 +938,17 @@ func TestTranslateEgress(t *testing.T) {
|
|||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-app:db-AND-testIn:frontend-AND-TCP-PORT-6783-FROM-context:dev-AND-!testNotIn:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -981,16 +959,31 @@ func TestTranslateEgress(t *testing.T) {
|
|||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("ns-testIn:frontendns"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesProtFlag,
|
||||
string(v1.ProtocolTCP),
|
||||
util.IptablesDstPortFlag,
|
||||
"6783",
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("context:dev"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesNotFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-context:dev-AND-!testNotIn:frontend-TO-ns-ns:dev-AND-ns-testIn:frontendns",
|
||||
"ALLOW-ns-ns:dev-AND-ns-testIn:frontendns-AND-TCP-PORT-6783-FROM-context:dev-AND-!testNotIn:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressToChain,
|
||||
Chain: util.IptablesAzureEgressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -1024,21 +1017,21 @@ func TestTranslateEgress(t *testing.T) {
|
|||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("k"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesProtFlag,
|
||||
string(v1.ProtocolTCP),
|
||||
util.IptablesDstPortFlag,
|
||||
"6783",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-context:dev-AND-!testNotIn:frontend-TO-ns-planet:earth-AND-ns-keyExists-AND-region:northpole-AND-!k",
|
||||
"ALLOW-context:dev-AND-!testNotIn:frontend-TO-ns-planet:earth-AND-ns-keyExists-AND-region:northpole-AND-!k-AND-TCP-PORT-6783",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesProtFlag,
|
||||
string(v1.ProtocolTCP),
|
||||
util.IptablesDstPortFlag,
|
||||
"6783",
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -1051,34 +1044,11 @@ func TestTranslateEgress(t *testing.T) {
|
|||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureEgressToChain,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-FROM-TCP-PORT-6783-OF-context:dev-AND-!testNotIn:frontend-TO-JUMP-TO-" +
|
||||
util.IptablesAzureEgressToChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressToChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("context:dev"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesNotFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testNotIn:frontend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesDrop,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"DROP-ALL-FROM-context:dev-AND-!testNotIn:frontend",
|
||||
"ALLOW-ALL-FROM-context:dev-AND-!testNotIn:frontend-TO-JUMP-TO-AZURE-NPM-TARGET-SETS",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -1227,6 +1197,23 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:backend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-app:backend-TO-JUMP-TO-" +
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -1462,6 +1449,23 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-app:frontend-TO-JUMP-TO-" +
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -1575,6 +1579,23 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-app:frontend-TO-JUMP-TO-" +
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -1717,6 +1738,23 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-app:frontend-TO-JUMP-TO-" +
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -1877,6 +1915,39 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesNotFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("k0"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("k1:v0"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("k1:v1"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-app:frontend-AND-!k0-AND-k1:v0-AND-k1:v1-TO-JUMP-TO-" +
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -1982,6 +2053,11 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -1992,11 +2068,6 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:backend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
|
@ -2024,6 +2095,23 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-app:frontend-TO-JUMP-TO-" +
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -2095,23 +2183,6 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
nonKubeSystemEntries = []*iptm.IptEntry{
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:backdoor"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureIngressFromChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-app:backdoor-TO-JUMP-TO-" +
|
||||
util.IptablesAzureIngressFromChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -2198,47 +2269,46 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
expectedIptEntries = []*iptm.IptEntry{}
|
||||
nonKubeSystemEntries = []*iptm.IptEntry{
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:backend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesDstPortFlag,
|
||||
"8000",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-app:backend-TO-app:frontend",
|
||||
"ALLOW-app:backend-AND-PORT-8000-TO-app:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesDstPortFlag,
|
||||
"8000",
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureIngressFromChain,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-PORT-8000-OF-app:frontend-TO-JUMP-TO-" +
|
||||
util.IptablesAzureIngressFromChain,
|
||||
"ALLOW-ALL-TO-app:frontend-TO-JUMP-TO-"+util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -2417,6 +2487,27 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:k8s"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("team:aks"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-app:k8s-AND-team:aks-TO-JUMP-TO-"+util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -2696,7 +2787,7 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-FROM-TCP-PORT-53-OF-app:frontend",
|
||||
"ALLOW-ALL-TO-TCP-PORT-53-FROM-app:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
|
@ -2716,7 +2807,7 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-FROM-UDP-PORT-53-OF-app:frontend",
|
||||
"ALLOW-ALL-TO-UDP-PORT-53-FROM-app:frontend",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
|
@ -2760,6 +2851,22 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressToChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:frontend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-FROM-app:frontend-TO-JUMP-TO-"+util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -2900,72 +3007,80 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesSFlag,
|
||||
"172.17.0.0/16",
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesProtFlag,
|
||||
"TCP",
|
||||
util.IptablesDstPortFlag,
|
||||
"6379",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-172.17.0.0/16-TO-role:db",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("ns-project:myproject"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ns-project:myproject-TO-role:db",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:frontend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-role:frontend-TO-role:db",
|
||||
"ALLOW-172.17.0.0/16-:-TCP-PORT-6379-TO-role:db",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("ns-project:myproject"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesProtFlag,
|
||||
"TCP",
|
||||
util.IptablesDstPortFlag,
|
||||
"6379",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ns-project:myproject-AND-TCP-PORT-6379-TO-role:db",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:frontend"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesProtFlag,
|
||||
"TCP",
|
||||
util.IptablesDstPortFlag,
|
||||
"6379",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-role:frontend-AND-TCP-PORT-6379-TO-role:db",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
|
@ -2976,12 +3091,65 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-TCP-PORT-6379-OF-role:db-TO-JUMP-TO-" +
|
||||
util.IptablesAzureIngressFromChain,
|
||||
"ALLOW-ALL-TO-role:db-TO-JUMP-TO-"+util.IptablesAzureIngressFromChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureIngressFromChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-TO-role:db-TO-JUMP-TO-"+util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesProtFlag,
|
||||
"TCP",
|
||||
util.IptablesDstPortFlag,
|
||||
"5978",
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesDFlag,
|
||||
"10.0.0.0/24",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-10.0.0.0/24-:-TCP-PORT-5978-FROM-role:db",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-FROM-role:db-TO-JUMP-TO-"+util.IptablesAzureTargetSetsChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -2997,46 +3165,7 @@ func TestTranslatePolicy(t *testing.T) {
|
|||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressToChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesDFlag,
|
||||
"10.0.0.0/24",
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAccept,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-10.0.0.0/24-FROM-role:db",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressPortChain,
|
||||
Specs: []string{
|
||||
util.IptablesProtFlag,
|
||||
"TCP",
|
||||
util.IptablesDstPortFlag,
|
||||
"5978",
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("role:db"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureEgressToChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-FROM-TCP-PORT-5978-OF-role:db-TO-JUMP-TO-" +
|
||||
util.IptablesAzureEgressToChain,
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressToChain,
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
@ -3311,11 +3440,11 @@ func TestDropPrecedenceOverAllow(t *testing.T) {
|
|||
util.GetHashedName("testIn:pod-A"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesDrop,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"DROP-ALL-TO-app:test-AND-testIn:pod-A",
|
||||
"ALLOW-ALL-TO-app:test-AND-testIn:pod-A-TO-JUMP-TO-AZURE-NPM-TARGET-SETS",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
|
@ -3368,6 +3497,48 @@ func TestDropPrecedenceOverAllow(t *testing.T) {
|
|||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureEgressToChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:test"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testIn:pod-A"),
|
||||
util.IptablesSrcFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesAzureTargetSetsChain,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"ALLOW-ALL-FROM-app:test-AND-testIn:pod-A-TO-JUMP-TO-AZURE-NPM-TARGET-SETS",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("app:test"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
util.IptablesMatchSetFlag,
|
||||
util.GetHashedName("testIn:pod-A"),
|
||||
util.IptablesDstFlag,
|
||||
util.IptablesJumpFlag,
|
||||
util.IptablesDrop,
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesCommentModuleFlag,
|
||||
util.IptablesCommentFlag,
|
||||
"DROP-ALL-TO-app:test-AND-testIn:pod-A",
|
||||
},
|
||||
},
|
||||
&iptm.IptEntry{
|
||||
Chain: util.IptablesAzureTargetSetsChain,
|
||||
Specs: []string{
|
||||
util.IptablesModuleFlag,
|
||||
util.IptablesSetModuleFlag,
|
||||
|
|
Загрузка…
Ссылка в новой задаче