鍍金池/ 問答/Linux  網(wǎng)絡(luò)安全/ docker swarm添加了太多iptables規(guī)則,且很多重復(fù)的,怎么處理?

docker swarm添加了太多iptables規(guī)則,且很多重復(fù)的,怎么處理?

  • docker swarm的工作節(jié)點(diǎn)上,發(fā)現(xiàn)添加了太多iptables規(guī)則,且很多是無(wú)用的(可以確認(rèn)有些端口已經(jīng)沒有容器在用了),而且有重復(fù)的(可以確認(rèn)有很多重復(fù)沒差別的規(guī)則),如下:
$ sudo iptables -t nat -L -n --line-numbers  -v
......
2483     0     0 MASQUERADE  tcp  --  *      *       192.168.0.33         192.168.0.33         tcp dpt:14129
2484     0     0 MASQUERADE  tcp  --  *      *       192.168.0.17         192.168.0.17         tcp dpt:14129
2485     0     0 MASQUERADE  tcp  --  *      *       192.168.0.22         192.168.0.22         tcp dpt:14129
2486     0     0 MASQUERADE  tcp  --  *      *       192.168.0.23         192.168.0.23         tcp dpt:14129
2487     0     0 MASQUERADE  tcp  --  *      *       192.168.0.23         192.168.0.23         tcp dpt:14129
2488     0     0 MASQUERADE  tcp  --  *      *       192.168.0.23         192.168.0.23         tcp dpt:14129
2489     0     0 MASQUERADE  tcp  --  *      *       192.168.0.23         192.168.0.23         tcp dpt:14129
2490     0     0 MASQUERADE  tcp  --  *      *       192.168.0.23         192.168.0.23         tcp dpt:14129
......
2484  2009  121K DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3504 to:192.168.0.17:14129
2485 18991 1139K DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3505 to:192.168.0.22:14129
2486  1333 79980 DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3506 to:192.168.0.23:14129
2487  5309  319K DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3507 to:192.168.0.23:14129
2488  3843  231K DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3508 to:192.168.0.23:14129
2489  3360  202K DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3509 to:192.168.0.23:14129
2490    64  3840 DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3510 to:192.168.0.23:14129
  • 我覺得docker在容器刪除后應(yīng)該自動(dòng)去除沒用的規(guī)則,為什么沒去掉呢?
  • 同時(shí)與iptables版本有關(guān)系嗎?出問題比較多的是iptables v1.4.7,沒有明顯問題的(也就是說rules規(guī)則不多正好是容器個(gè)數(shù)的,沒有重復(fù)的)版本是iptables v1.4.21。
  • 有遇到相同問題的嗎?這個(gè)問題可能會(huì)引起更嚴(yán)重的問題,比如端口沖突的問題,宿主機(jī)上5000端口,被iptabls規(guī)則錯(cuò)誤引到容器里。
回答
編輯回答
做不到

解答參考:我的博客,應(yīng)該與iptables版本有關(guān)系,升級(jí)到v1.4.21就可以自動(dòng)清除無(wú)用規(guī)則了。

2018年7月28日 11:07