мы запускаем репликацию mysql между сервером вне dmz и сервером внутри dmz, для этого нам нужна переадресация портов. У нас это было настроено, но недавно остановился работает. Незадолго до этого мы добавили правило (номер правила 01500), которое разрешает трафик для nrpe (мониторинг с помощью naigos).
Установка состоит из устаревшего сервера redhat 5, на котором запущен mysql (5.1.22-rc-community-log), который должен получать данные от сервера freebsd 8.0-RELEASE (это 192.168.10.10), на котором запущен mysql (5.1.42-log ), который находится за шлюзом, на котором запущен freebsd 8.0-RELEASE-p2.
обратите внимание, что я заменю все публичные IP-адреса на IP-адреса в стиле a.b.c.d ...
если я подключусь через telnet со шлюза к 192.168.10.10:3306, он подключится к mysql на правильном сервере. если я подключусь к localhost: 3306, 127.0.0.1:3306 или a.b.c.f: 3306, он немедленно откажется от соединения. на a.b.c.e telnetting к a.b.c.f: 3306 делает то же самое.
Я исключил его, чтобы разрешить трафик, потому что:
Процесс natd выглядит так:
/sbin/natd -redirect_port tcp 192.168.10.10:3306 3306 -n bce0
/etc/hosts.allow выглядит так:
ALL : ALL : allow
межсетевой экран шлюза выглядит так:
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from 192.168.10.0/24 to any in via bce0
00500 deny ip from a.b.c.d/26 to any in via bce1
00600 deny ip from any to 10.0.0.0/8 via bce0
00700 deny ip from any to 172.16.0.0/12 via bce0
00800 deny ip from any to 192.168.0.0/16 via bce0
00900 deny ip from any to 0.0.0.0/8 via bce0
01000 deny ip from any to 169.254.0.0/16 via bce0
01100 deny ip from any to 192.0.2.0/24 via bce0
01200 deny ip from any to 224.0.0.0/4 via bce0
01300 deny ip from any to 240.0.0.0/4 via bce0
01400 allow tcp from a.b.c.e to me dst-port 3306
01500 allow tcp from a.b.c.d/26 to me dst-port 5666
01600 deny tcp from any to me dst-port 3306 in via bce0
01700 divert 8668 ip from any to any via bce0
01800 deny ip from 10.0.0.0/8 to any via bce0
01900 deny ip from 172.16.0.0/12 to any via bce0
02000 deny ip from 192.168.0.0/16 to any via bce0
02100 deny ip from 0.0.0.0/8 to any via bce0
02200 deny ip from 169.254.0.0/16 to any via bce0
02300 deny ip from 192.0.2.0/24 to any via bce0
02400 deny ip from 224.0.0.0/4 to any via bce0
02500 deny ip from 240.0.0.0/4 to any via bce0
02600 allow tcp from any to any established
02700 allow ip from any to any frag
02800 allow tcp from any to me dst-port 22 setup
02900 allow tcp from any to me dst-port 25 setup
03000 allow tcp from any to me dst-port 53 setup
03100 allow udp from any to me dst-port 53
03200 allow udp from me 53 to any
03300 allow udp from any 53 to any
03400 allow udp from any to any dst-port 53
03500 allow tcp from any to me dst-port 80 setup
03600 allow tcp from any to me dst-port 443 setup
03700 allow icmp from me to any
03800 allow tcp from any to any setup
03900 allow udp from me to any dst-port 53 keep-state
04000 allow udp from me to any dst-port 123 keep-state
04100 allow log ip from any to any
65535 deny ip from any to any
я что-то здесь упускаю - или нельзя пропускать трафик?
спасибо за любую помощь и, пожалуйста, спросите, если информация отсутствует.
Оказывается, что оператор allow для трафика mysql «заблокировал» его, поскольку ему не удалось достичь правила перенаправления, которое будет выполнять фактическую пересылку.
тестирование проводилось добавлением этого правила:
ipfw добавить 1350 skipto 1700 tcp от a.b.c.e ко мне dst-порт 3306
В результате правила 1400 и 1600 будут удалены из нашего брандмауэра, и репликация mysql будет продолжена.