Итак, представим что у нас есть локальная сеть 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, тогда:
root@server# iptables -A POSTROUTING -t nat -s 192.168.1.22 -j MASQUERADEТеперь ваш компьютер с ip-адресом 192.168.1.22 получит доступ до Интернета. Конечно может вы не захотите отрывать полный доступ, а захотите отрыть только получение и отправку электронной почты с сервера yandex.ru. Тогда вам необходимо в командной строке выполнить:
root@server# iptables -A POSTROUTING -t nat -s 192.168.1.22 -d 213.180.204.67 -p tcp --dport 110 -j MASQUERADEи
root@server# iptables -A POSTROUTING -t nat -s 192.168.1.22 -d 87.250.251.38 -p tcp --dport 25 -j MASQUERADEНа это пока что все. Продолжение о возможностях NAT в следующей статье.
3 комментария:
А как можно отменить сделанные изменения?
Например так:
root@server# iptables -D POSTROUTING -t nat -s 192.168.1.22 -d 87.250.251.38 -p tcp --dport 25 -j MASQUERADE
В случаях когда внешний адрес постоянный и заренне известен, лучше использовать SNAT.
MASQUERADE предназначен для интерфейсов с динамическими адресами, поэтому тратит больше ресурсов на отслеживание изменений IP-адреса на интерфейсе.
Отправить комментарий