Моя конфигурация: сервер Ubuntu 9 и msyql 5
my.cnf = bind-address = 0.0.0.0
мой скрипт iptables =
iptables -A INPUT -i eth0 -s 99.88.77.66 -p tcp --destination-port 3306 -j ACCEPT
Я могу подключиться к mysql из любого места, а не только к этому IP. Я сделал iptables-save, /etc/init.d/netwokring restart ... но я все еще могу подключиться с любого IP-адреса, есть подсказка?
Это правило разрешает соединения с 99.88.77.66, оно не запрещает соединения откуда-то еще. Для этого у вас должно быть правило, которое по умолчанию DROP для всех входящих соединений.
iptables -P INPUT DROP
а затем переходит к разрешению только тех, кого вы явно хотите. Кроме того, вы можете закрыть порт 3306 специально для всех клиентов, у которых не 99.88.77.66
iptables -A INPUT -i eth0 -s ! 99.88.77.66 -p tcp --destination-port 3306 -j DROP
Это правило позволяет трафик с определенного IP-адреса на порт 3306 / tcp. Вам понадобится более позднее правило (или политика по умолчанию) для сброса всего остального трафика на этот порт, потому что политика iptables по умолчанию разрешает все.
возможно, ваша политика iptables по умолчанию разрешает весь входящий трафик. это позволит подключиться с любого ip. измените эту политику, чтобы удалить:
iptables -P INPUT DROP