Дозвіл доступу доФТП засобами iptables.
Є локальна мережа комп'ютери якої вилазять в Інтернеті через сервер з Лінуксом. Необхідно засобами iptables дозволити доступ комп'ютерам локальної мережі до ФТП серверів в інтернеті.
Для цього додамо у файл/etc/sysconfig/iptablesправила:
Тепер до таблиці NAT потрібно додати правило (у файлі/etc/sysconfig/iptablesпісля рядка*nat):
де - наша локальна мережа.
Однак, після додавання цих правил, доступ до FTP серверів з локальної мережі отримати так і не вдалося.
Вся справа виявилася в тому, що протокол ФТП несе додаткову інформацію про з'єднання даних пакета. Відповідно коректне трасування таких з'єднань потребує підключення додаткових допоміжних модулів.
Проблема полягає в тому, що iptables нічого не знає про ці додаткові підключення, оскільки вся інформація про них передається через область даних пакета. Через це iptables не дозволить серверу з'єднатися із зазначеним портом клієнта.
Вирішення проблеми полягає у додаванні спеціального допоміжного модуля трасування, який відстежує, специфічну для даного протоколу, інформацію в області пакетів, що передаються в рамках сеансу управління. При створенні такого з'єднання, допоміжний модуль коректно сприйме інформацію, що передається, і створить відповідний запис у таблиці трасувальника зі статусом RELATED, завдяки чому з'єднання буде встановлено.
Тому необхідно підключити додатковий допоміжний модуль данимip_nat_ftp. Це здійснюється додаванням у файл/etc/sysconfig/iptables-configнаступних рядків:
Перед цим природно потрібно перевірити, чи є такі модулі в системі: