我试图在我的Debian系统中打开iptables中的端口3306以允许访问MySQL服务器.我输入了这个命令:
root@debian:/# sudo iptables -A INPUT -p tcp --dport 3306 ACCEPT
root@debian:/# iptables-save
Run Code Online (Sandbox Code Playgroud)
我输入了新的连接,它已保存在iptables中,因为我可以看到iptables列表中的新规则由iptables-save命令生成.
但是,这个debian系统在Windows 7上的VM上运行,我无法从Windows远程登录到此端口.不知道我应该在哪里检查这个问题的解决方案.
dio*_*ney 44
关于您的命令行:
root@debian:/# sudo iptables -A INPUT -p tcp --dport 3306 --jump ACCEPT
root@debian:/# iptables-save
Run Code Online (Sandbox Code Playgroud)
您已经过身份验证,root因此sudo在那里是多余的.
你错过了-j或者--jump只是在ACCEPT参数之前(只是打错了,你正确地插入它).
关于你的问题:
如果您iptables在问题中指出正确插入规则,则问题可能与您正在使用的虚拟机管理程序(虚拟机提供程序)有关.
如果您提供管理程序名称(VirtualBox,VMWare?),我可以进一步指导您,但这里有一些您可以先尝试的建议:
检查您的vmachine网络设置和:
如果它设置为NAT,那么您将无法从基本机器连接到vmachine.
如果设置为Hosted,则必须首先配置其网络设置,通常是为它们提供192.168.56.0/24范围内的IP,因为这是管理程序用于此的默认设置.
如果它设置为Bridge,与Hosted相同,但只要IP范围对您的配置有意义,您就可以配置它.
希望这可以帮助.
(我认为你通过完全放弃防火墙(iptables -P INPUT ACCEPT; iptables -P OUTPUT ACCEPT; iptables -F)得出结论是iptables问题,并确认你可以从Windows机箱连接到MySQL服务器? )
INPUT表中的某些先前规则可能是拒绝或丢弃数据包.您可以通过在顶部插入新规则来解决这个问题,尽管您可能希望查看现有规则以确定这是否合理:
iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
请注意,iptables-save不会持久保存新规则(即重新启动) - 您需要为此找出其他内容.我通常的路径是将iptables-save输出存储在一个文件(/etc/network/iptables.rules或类似文件)中,然后在/ etc/network/interfaces中加载一个pre-up语句.
| 归档时间: |
|
| 查看次数: |
123749 次 |
| 最近记录: |