質問編集履歴

3

更新

2019/05/15 18:23

投稿

urbainleverrier
urbainleverrier

スコア200

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,79 @@
63
63
  しかし、puppetはinstallしていません。
64
64
 
65
65
  /if-pre-up.d以下で、iptablesをいじるのは`iptables_start`のみなのですが、それでも何かとぶつかっているのでしょうか。
66
+
67
+
68
+
69
+ ### さらに追記 同日
70
+
71
+ [こちら](https://serverfault.com/questions/914493/ubuntu-18-04-doesnt-load-iptables-rules-after-reboot)では、systemdにやらせると良いということで、次のようにserviceを作りました。
72
+
73
+
74
+
75
+ ```
76
+
77
+ root@instance1:~# cat /etc/network/iptables
78
+
79
+ #!/bin/bash
80
+
81
+ /sbin/iptables-restore < /etc/iptables.rules
82
+
83
+ exit 0
84
+
85
+ root@instance1:~# cat /etc/systemd/system/router-rules.service
86
+
87
+ [Unit]
88
+
89
+ Description = Apply base firewall rules for router functionality
90
+
91
+
92
+
93
+ [Service]
94
+
95
+ Type=oneshot
96
+
97
+ ExecStart=/etc/network/iptables
98
+
99
+
100
+
101
+ [Install]
102
+
103
+ WantedBy=network-pre.target
104
+
105
+ root@instance1:~# systemctl enable router-rules.service
106
+
107
+ root@instance1:~# reboot
108
+
109
+ ```
110
+
111
+ 再起動後、
112
+
113
+ ```
114
+
115
+ root@instance1:~# systemctl status router-rules.service
116
+
117
+ ● router-rules.service - Apply base firewall rules for router functionality
118
+
119
+ Loaded: loaded (/etc/systemd/system/router-rules.service; enabled; vendor preset: enabled)
120
+
121
+ Active: inactive (dead) since Thu 2019-05-16 03:21:48 JST; 22s ago
122
+
123
+ Process: 619 ExecStart=/etc/network/iptables (code=exited, status=0/SUCCESS)
124
+
125
+ Main PID: 619 (code=exited, status=0/SUCCESS)
126
+
127
+
128
+
129
+ May 16 03:21:48 instance1 systemd[1]: Starting Apply base firewall rules for router functionality...
130
+
131
+ May 16 03:21:48 instance1 iptables[619]: iptables-restore v1.6.0: Set cali40masq-ipam-pools doesn't exist.
132
+
133
+ May 16 03:21:48 instance1 iptables[619]: Error occurred at line: 179
134
+
135
+ May 16 03:21:48 instance1 iptables[619]: Try `iptables-restore -h' or 'iptables-restore --help' for more information.
136
+
137
+ May 16 03:21:48 instance1 systemd[1]: Started Apply base firewall rules for router functionality.
138
+
139
+ ```
140
+
141
+ と表示されます。

2

追記

2019/05/15 18:23

投稿

urbainleverrier
urbainleverrier

スコア200

test CHANGED
File without changes
test CHANGED
@@ -37,3 +37,29 @@
37
37
 
38
38
 
39
39
  `etc/network/if-pre-up.d/iptables_start`をログイン後実行するとその設定は維持されます。
40
+
41
+
42
+
43
+ ### 追記2019/5/16
44
+
45
+ いくつか挙動を確認したところ、どうやら`iptables-restore`が実行されるタイミングで、設定の反映が途中で止まるようでした。
46
+
47
+ ログを見たところ、
48
+
49
+ ``` log
50
+
51
+ ifup[829]: iptables-restore v1.6.0: Set cali40masq-ipam-pools doesn't exist.
52
+
53
+ ifup[829]: Error occurred at line: 179
54
+
55
+ ```
56
+
57
+ とありまして、関連する記事としては、[StarlingX Projectの開発者ページ?](https://bugs.launchpad.net/starlingx/+bug/1815124)がありまして、
58
+
59
+ puppetなるソフトウェアと、DockerやKubernetesで指定したiptablesの内容が競合して、適用されなくなるバグがあると報告しています。
60
+
61
+
62
+
63
+ しかし、puppetはinstallしていません。
64
+
65
+ /if-pre-up.d以下で、iptablesをいじるのは`iptables_start`のみなのですが、それでも何かとぶつかっているのでしょうか。

1

誤字

2019/05/15 17:45

投稿

urbainleverrier
urbainleverrier

スコア200

test CHANGED
File without changes
test CHANGED
@@ -36,4 +36,4 @@
36
36
 
37
37
 
38
38
 
39
- `etc/network/if-pre-up.d/iptables_start`をログイン後実行するとその設定は維持されます。
39
+ `etc/network/if-pre-up.d/iptables_start`をログイン後実行するとその設定は維持されます。