35
35
':nova-compute-local - [0:0]',
36
36
':nova-compute-OUTPUT - [0:0]',
37
37
':nova-filter-top - [0:0]',
38
'-A FORWARD -j nova-filter-top ',
39
'-A OUTPUT -j nova-filter-top ',
40
'-A nova-filter-top -j nova-compute-local ',
41
'-A INPUT -j nova-compute-INPUT ',
42
'-A OUTPUT -j nova-compute-OUTPUT ',
43
'-A FORWARD -j nova-compute-FORWARD ',
44
'-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT ',
45
'-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT ',
46
'-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT ',
47
'-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT ',
48
'-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT ',
49
'-A FORWARD -i virbr0 -o virbr0 -j ACCEPT ',
50
'-A FORWARD -o virbr0 -j REJECT --reject-with '
38
'[0:0] -A FORWARD -j nova-filter-top ',
39
'[0:0] -A OUTPUT -j nova-filter-top ',
40
'[0:0] -A nova-filter-top -j nova-compute-local ',
41
'[0:0] -A INPUT -j nova-compute-INPUT ',
42
'[0:0] -A OUTPUT -j nova-compute-OUTPUT ',
43
'[0:0] -A FORWARD -j nova-compute-FORWARD ',
44
'[0:0] -A INPUT -i virbr0 -p udp -m udp --dport 53 '
46
'[0:0] -A INPUT -i virbr0 -p tcp -m tcp --dport 53 '
48
'[0:0] -A INPUT -i virbr0 -p udp -m udp --dport 67 '
50
'[0:0] -A INPUT -i virbr0 -p tcp -m tcp --dport 67 '
52
'[0:0] -A FORWARD -s 192.168.122.0/24 -i virbr0 '
54
'[0:0] -A FORWARD -i virbr0 -o virbr0 -j ACCEPT ',
55
'[0:0] -A FORWARD -o virbr0 -j REJECT --reject-with '
51
56
'icmp-port-unreachable ',
52
'-A FORWARD -i virbr0 -j REJECT --reject-with '
57
'[0:0] -A FORWARD -i virbr0 -j REJECT --reject-with '
53
58
'icmp-port-unreachable ',
55
60
'# Completed on Fri Feb 18 15:17:05 2011']
66
71
':nova-compute-PREROUTING - [0:0]',
67
72
':nova-compute-POSTROUTING - [0:0]',
68
73
':nova-postrouting-bottom - [0:0]',
69
'-A PREROUTING -j nova-compute-PREROUTING ',
70
'-A OUTPUT -j nova-compute-OUTPUT ',
71
'-A POSTROUTING -j nova-compute-POSTROUTING ',
72
'-A POSTROUTING -j nova-postrouting-bottom ',
73
'-A nova-postrouting-bottom -j nova-compute-SNATTING ',
74
'-A nova-compute-SNATTING -j nova-compute-floating-ip-snat ',
74
'[0:0] -A PREROUTING -j nova-compute-PREROUTING ',
75
'[0:0] -A OUTPUT -j nova-compute-OUTPUT ',
76
'[0:0] -A POSTROUTING -j nova-compute-POSTROUTING ',
77
'[0:0] -A POSTROUTING -j nova-postrouting-bottom ',
78
'[0:0] -A nova-postrouting-bottom -j nova-compute-SNATTING ',
79
'[0:0] -A nova-compute-SNATTING '
80
'-j nova-compute-floating-ip-snat ',
76
82
'# Completed on Fri Feb 18 15:17:05 2011']
85
91
table = self.manager.ipv4['filter']
86
92
table.add_rule('FORWARD', '-s 1.2.3.4/5 -j DROP')
87
93
new_lines = self.manager._modify_rules(current_lines, table)
88
self.assertTrue('-A %s-FORWARD '
94
self.assertTrue('[0:0] -A %s-FORWARD '
89
95
'-s 1.2.3.4/5 -j DROP' % self.binary_name in new_lines)
91
97
table.remove_rule('FORWARD', '-s 1.2.3.4/5 -j DROP')
92
98
new_lines = self.manager._modify_rules(current_lines, table)
93
self.assertTrue('-A %s-FORWARD '
99
self.assertTrue('[0:0] -A %s-FORWARD '
94
100
'-s 1.2.3.4/5 -j DROP' % self.binary_name \
125
131
"nova-postouting-bottom: %s" % last_postrouting_line)
127
133
for chain in ['POSTROUTING', 'PREROUTING', 'OUTPUT']:
128
self.assertTrue('-A %s -j %s-%s' %
134
self.assertTrue('[0:0] -A %s -j %s-%s' %
129
135
(chain, self.binary_name, chain) in new_lines,
130
136
"Built-in chain %s not wrapped" % (chain,))
151
157
for chain in ['FORWARD', 'OUTPUT']:
152
158
for line in new_lines:
153
if line.startswith('-A %s' % chain):
159
if line.startswith('[0:0] -A %s' % chain):
154
160
self.assertTrue('-j nova-filter-top' in line,
155
161
"First %s rule does not "
156
162
"jump to nova-filter-top" % chain)
159
self.assertTrue('-A nova-filter-top '
165
self.assertTrue('[0:0] -A nova-filter-top '
160
166
'-j %s-local' % self.binary_name in new_lines,
161
167
"nova-filter-top does not jump to wrapped local chain")
163
169
for chain in ['INPUT', 'OUTPUT', 'FORWARD']:
164
self.assertTrue('-A %s -j %s-%s' %
170
self.assertTrue('[0:0] -A %s -j %s-%s' %
165
171
(chain, self.binary_name, chain) in new_lines,
166
172
"Built-in chain %s not wrapped" % (chain,))