mysql綁定多個ip地址


http://jpuyy.com/2013/07/mysql-bind-multi-address.html

mysql綁定多個ip地址

my.cnf中有選項bind-address=127.0.0.1,是說mysql server監聽的是本地發來的請求,如果是任意主機都可以請求,則寫為0.0.0.0,但是這樣又不太安全。監聽某ip,指定此ip地址即可,但是要保證mysql的user中有允許此ip訪問,否則不能對數據庫操作。那么是否可以在配置里只規定幾個ip呢?

簡單直接回答:不可能

請參考:http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_bind-address

The MySQL server listens on a single network socket for TCP/IP connections. This socket is bound to a single address, but it is possible for an address to map onto multiple network interfaces. The default address is 0.0.0.0. To specify an address explicitly, use the –bind-address=addr option at server startup, where addr is an IPv4 address or a host name. If addr is a host name, the server resolves the name to an IPv4 address and binds to that address. The server treats different types of addresses as follows:

If the address is 0.0.0.0, the server accepts TCP/IP connections on all server host IPv4 interfaces.
If the address is a “regular” IPv4 address (such as 127.0.0.1), the server accepts TCP/IP connections only for that particular IPv4 address.

但是有此需求,就會到訪問控制,那么使用防火牆iptables可實現此效果

mysql-server為192.168.1.3,只允許192.168.1.4,  192.168.1.5,  192.168.1.6來訪問3306端口

在my.cnf中

bind-address = 0.0.0.0

在訪問3306端口的主機中,只允許192.168.1.4-6,其他ip一律DROP掉

/sbin/iptables -A INPUT -p tcp -s 192.168.1.4 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.5 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.6 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP

/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.4 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.5 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.6 -j DROP

保存防火牆規則

service iptables save

查看INPUT鏈包含3306的規則

echo -e "target prot opt source destination\n$(iptables -L INPUT -n | grep 3306)"

這樣就實現了mysql只允許指定ip訪問。

參考:

http://www.cyberciti.biz/faq/unix-linux-mysqld-server-bind-to-more-than-one-ip-address/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM