linux iptables 命令为什么不起作用,请求大侠解答,谢谢!

命令如下:#iptables-AINPUT-ptcp-dport3306-jACCEPT结果从另一台机器上telnet3306不通。命令如下:#iptables-AINP... 命令如下:
#iptables -A INPUT -p tcp -dport 3306 -j ACCEPT
结果从另一台机器上telnet 3306 不通。
命令如下:
#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
纠正一下,操作命令如上,上面的是在提问时打成-dport了,再说要是-dport的话,会提示命令错误的。
展开
 我来答
轩丰造寂
2015-08-04 · TA获得超过1499个赞
知道小有建树答主
回答量:460
采纳率:81%
帮助的人:180万
展开全部
  IPtables格式不知道你是否正确书写.下面的格式你参考一下:
  iptables定义规则的方式比较复杂:
  格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION
  -t table :3个filter nat mangle
  COMMAND:定义如何对规则进行管理
  chain:指定你接下来的规则到底是在哪个链上操作的,当定义策略的时候,是可以省略的
  CRETIRIA:指定匹配标准
  -j ACTION :指定如何进行处理
  比如:不允许172.16.0.0/24的进行访问。
  iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP
  当然你如果想拒绝的更彻底:
  iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT
  iptables -L -n -v #查看定义规则的详细信息
  下面是详细介绍各个命令参数:
  1.链管理命令(这都是立即生效的)
  -P :设置默认策略的(设定默认门是关着的还是开着的)
  默认策略一般只有两种
  iptables -P INPUT (DROP|ACCEPT) 默认是关的/默认是开的
  比如:
  iptables -P INPUT DROP 这就把默认规则给拒绝了。并且没有定义哪个动作,所以关于外界连接的所有规则包括Xshell连接之类的,远程连接都被拒绝了。
  -F: FLASH,清空规则链的(注意每个链的管理权限)
  iptables -t nat -F PREROUTING
  iptables -t nat -F 清空nat表的所有链
  -N:NEW 支持用户新建一个链
  iptables -N inbound_tcp_web 表示附在tcp表上用于检查web的。
  -X: 用于删除用户自定义的空链
  使用方法跟-N相同,但是在删除之前必须要将里面的链给清空昂了
  -E:用来Rename chain主要是用来给用户自定义的链重命名
  -E oldname newname
  -Z:清空链,及链中默认规则的计数器的(有两个计数器,被匹配到多少个数据包,多少个字节)
  iptables -Z :清空
  
  2.规则管理命令
  -A:追加,在当前链的最后新增一个规则
  -I num : 插入,把当前规则插入为第几条。
  -I 3 :插入为第三条
  -R num:Replays替换/修改第几条规则
  格式:iptables -R 3 …………
  -D num:删除,明确指定删除第几条规则
  
  3.查看管理命令 “-L”
  附加子命令
  -n:以数字的方式显示ip,它会将ip直接显示出来,如果不加-n,则会将ip反向解析成主机名。
  -v:显示详细信息
  -vv
  -vvv :越多越详细
  -x:在计数器上显示精确值,不做单位换算
  --line-numbers : 显示规则的行号
  -t nat:显示所有的关卡的信息
百度网友c48f0a65
2012-08-31 · TA获得超过900个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:390万
展开全部
你贴出一条规则,谁能判断啊,万一这条规则前面有匹配的拒绝的规则,这条就没用了,把-A改成-I试试。另外万一是另一个机器的问题呢?反正规则没错,但是问题不能定位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fcd50a409
2012-08-31 · TA获得超过691个赞
知道小有建树答主
回答量:1539
采纳率:0%
帮助的人:891万
展开全部
你先关掉iptables测试一下问题是否防火墙引起的,如果确定是防火墙配置问题,把所有规则贴上来看看是否还有其他规则阻止了对3306端口的访问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HiDaen
2012-08-31
知道答主
回答量:35
采纳率:0%
帮助的人:18.4万
展开全部
你的Mysql没启动吧,光开端口有什么用,服务没启动也连接不到啊。
追问
忘了补充说明了,mysql服务已经启动,端口查看3306已在监听中。
追答
恩,那就保证mysql正常服务,然后清空所有iptables 规则。 在telnet ip 3306 看看,看是否畅通, 确定网络没有问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lllpaw
2012-09-05
知道答主
回答量:24
采纳率:0%
帮助的人:15.1万
展开全部
我用的命令是:/sbin/iptables -I INPUT -s 192.168.1.100/24 -p tcp --dport 3306 -j ACCEPT
/etc/init.d/iptables save
我只允许 192.168.1.100 这台机器从外部访问。

再使用/etc/init.d/iptables status 查看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式