利用salt添加iptables rule

来自linux中国网wiki
跳到导航 跳到搜索

原因 公司换出口ip

今天居然不知自己以前已作了iptables module相关的笔记 又看了一下 20170804

备份iptables tcpwarp file

salt '*' cmd.run 'mkdir -p /data/evan'
salt '*' cmd.run 'cp /etc/sysconfig/iptables  /data/evan/iptables20170804'
salt '*' cmd.run 'cp /etc/hosts.allow  /data/evan/hosts.allow20170804'

测试一下文件备份成功了没
salt '*' cmd.run  'ls /data/evan'

添加防火墙规则

salt 'inlandgw' iptables.insert filter INPUT position=3 \
    rule='-s 192.168.30.94 -p tcp -m multiport --dports 22,23  -j ACCEPT'

salt '*' iptables.save /etc/sysconfig/iptables

#单独端口
salt 'inlandgw' iptables.insert filter INPUT position=3 \
    rule='-s 192.168.30.94 -p tcp  --dport 22 -j ACCEPT'

TCP Wrapper

salt '*' cmd.run 'echo 'sshd:192.168.30.94' >>/etc/hosts.allow '

trouble shooting

公司换了IP 用salt添加了iptables 但是ssh端口不通 而逗比的小伙伴还以为是我salt加错了

排错过程 因为不是第一次添加了 所以命令出错的可能性不大,于是在关闭iptables 的情况下 telnet ssh 端口还是不通,于是 明白了,是硬件 防火墙的问题

关于忘记添加防火墙的情况 可以先登录别的机器 然后用一个新KEY 从其它机器通过内网IP 登录过去

参考

Iptables模块