ssh - 无家可归的盒子和iptables

标签 ssh vagrant iptables

我对本地无用信息框和iptables有问题。
我正在使用带有chef/centos-6.6框的流浪汉。
我想配置iptables,因此默认策略将是DROP all并仅启用某些端口。
这是我设置iptables的脚本:

# Flush all rules
iptables -F
iptables -X

# Start by blocking all traffic, this will allow secured, fine grained filtering
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# Keep established connections
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Allow loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# HTTP
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# SSH
iptables -A OUTPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

# DNS
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT

# NTP
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT

# YUM
iptables -A OUTPUT -p tcp -m tcp -m state --state NEW --dport 80 -j ACCEPT

执行脚本后(在vagrant ssh之后),我立即断开连接,无法再次连接到服务器。

我想知道这是否以某种方式连接到无用的端口转发?当我做vagrant up控制台告诉default: 22 > 2222 (adapter 1)
我将端口添加到# SSH部分,但仍然是同一问题; /
有什么想法如何解决吗?

最佳答案

您的第一行是iptables -P INPUT DROP,因此您要杀死所有,传入连接有效立即。这意味着,如果您通过SSH运行配置,则将终止配置ssh连接。

解决方案是按规则插入规则,以防止您将自己锁定在机器之外。

另一种可能的解决方案是使用iptables-save将设置预保存到文件中,然后使用iptables-restore在远程计算机上还原

关于ssh - 无家可归的盒子和iptables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27938498/

相关文章:

magento - Magento 是否有现有维护良好的 Vagrant 厨师食谱?

android - iptables 在列表中移动规则

linux - IPTables 在启动时中断 WebServer 连接

linux - 注销后通过 ssh 保持脚本运行

vagrant - 在 Vagrant 中使用 docker-compose 配置 PyCharm 解释器

database - Tomcat JNDI 通过 SSH 连接数据库

ubuntu - 厨房没有检测到 Vagrant 插件 `kitchen-vagrant`

bash - docker 无法指定容器连接

ubuntu - ssh 不读取 ssh 配置

python - 如何将 Paramiko exec_commmand 作为字符串返回给 python 客户端