Итак, представим что у нас есть локальная сеть 192.168.1.0 с маской 24. Допустим интернет-провайдер выделил для нас 1 ip адрес: пусть это будет 81.18.1.1(все совпадения случайны). Мы поставили на нужный компьютер debian (конечно можно и другую unix-подобную ОС поставить), определились с ip адресом шлюза для нашей локальной сети: пусть у нас это будет 192.168.1.1 ,настроили подключение с интернетом. В нашей локальной сети все компьютеры должны иметь шлюз по умолчнию 192.168.1.1. Надеюсь на надо объяснять для чего это нужно. Если ваши пользователи локальной сети будут иметь полный доступ до Интернета,- то с помощью iptables это реализуется следующим образом. Допустим нам надо открыть доступ до интернета компьютеру с ip-адресом 192.168.1.22, тогда: Code root@server# iptables -A POSTROUTING -t nat -s 192.168.1.22 -j MASQUERADE Теперь ваш компьютер с ip-адресом 192.168.1.22 получит доступ до Интернета. Конечно может вы не захотите отрывать полный доступ, а захотите отрыть только получение и отправку электронной почты с сервера yandex.ru. Тогда вам необходимо в командной строке выполнить: Code root@server# iptables -A POSTROUTING -t nat -s 192.168.1.22 -d 213.180.204.67 -p tcp --dport 110 -j MASQUERADE и Code root@server# iptables -A POSTROUTING -t nat -s 192.168.1.22 -d 87.250.251.38 -p tcp --dport 25 -j MASQUERADE В проделжении статьи о iptables и применении NAT на практике хотелось бы затронуть очень важный и интересный момент. А именно применении уже DNAT на практике. Что нам дано: есть локальная сеть соединенная с интернетом через шлюз(назовем его Сервер_1) и какой то другой сервер(Сервер_2). В данном случае нам не принципиально, какие функции возложены на Сервер_2. Что нам нужно: не заходя на Сервер_1, т.е. на шлюз по ssh иметь возможность выйти на внутренний Сервер_2 "напрямую". Почему "напрямую" в кавычках? Очень просто,- потому что все равно мы будем заходить на шлюз,а он в свою очередь будет пробрасывать данные до нужного сервера_2 и нужного порта этого же сервера. Решение: итак, организовать проброс данных организовать очень просто. Делается это так: Code root@server# iptables -A PREROUTING -i eth0 -d 10.128.1.1 --dport 222 -j DNAT --to-destination 192.168.1.12:22 Можно отменить сделанные изменения например так: Code root@server# iptables -D POSTROUTING -t nat -s 192.168.1.22 -d 87.250.251.38 -p tcp --dport 25 -j MASQUERADE
|