【问题标题】:How to whitelist 2 ip-adresses with ip-tables and block everything else?如何使用 ip-tables 将 2 个 IP 地址列入白名单并阻止其他所有内容?
【发布时间】:2013-08-02 04:12:36
【问题描述】:

我想将 2 个外部 IP 地址或端口 3306 (mysql) 列入白名单,但在运行 mysql 实例的 debian 服务器上阻止所有其他 IP 地址到端口 3306。两个外部 IP 地址都应该能够连接到 mysql-server。

iptables 中最好的方法是什么?

我做了什么:

/sbin/iptables -A INPUT -p tcp -d 127.0.0.1 --dport 3306 -j ACCEPT

/sbin/iptables -A INPUT -p tcp -d 1.1.1.1.1 --dport 3306 -j ACCEPT

/sbin/iptables -A INPUT -p tcp -d 85.x.x.x --dport 3306 -j ACCEPT

(1.1.1.1 是一个内部 ip,出于安全考虑,这里被屏蔽了)

## 阻止所有到 3306 的连接 ##

/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP

发生了什么:

每个外部IP都被锁定,无法连接

会发生什么:

每个外部 ip 都将被锁定不能连接,但不是 1.1.1.1 和 85.x.x.x 和 127.0.0.1

【问题讨论】:

    标签: mysql networking database-connection firewall iptables


    【解决方案1】:

    iptables -N mysql #为mysql创建链
    iptables -A mysql --src 127.0.0.1 -j ACCEPT
    iptables -A mysql --src 1.1.1.1.1 -j ACCEPT
    iptables -A mysql --src 85.x.x.x -j ACCEPT
    iptables -A mysql -j DROP # 丢弃其他主机的数据包
    iptables -I INPUT -m tcp -p tcp --dport 3306 -j mysql # 使用链将数据包发送到 MySQL 端口

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 2021-01-04
      • 1970-01-01
      • 2019-05-24
      • 2020-07-19
      • 2021-08-26
      相关资源
      最近更新 更多