|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » NAT и маскарадинг |
|
|
NAT и маскарадинг
|
Новый участник Сообщения: 27 |
Имеются две сетки, одна домашняя (172.20.0.0, eth0), другая внешняя с выходом в инет (192.168.2.0, eth1). Требуется подставить IP адаптера внешней сети в пакеты домашней. При попытке занести в таблицу nat следующую строку:
iptables -t nat -A POSTROUTING -s 172.20.0.(хост) -o eth1 - j SNAT --to-source 192.168.2.(хост) или iptables -t nat -A POSTROUTING -s 172.20.0.(хост) -o eth1 -j MASQUERADE выдает ошибку 'iptables: Invalid argument'. В чем дело, подскажите? Ради интереса: iptables -t nat -A POSTROUTING -s 172.20.0.(хост) ошибки не выдает. ASPLinux 9, ядро 2.4.21, сконфигурировано с поддержкой NAT... |
|
Отправлено: 19:22, 29-07-2003 |
BMK-4EVER Сообщения: 58
|
Профиль | Отправить PM | Цитировать Неправильно пишешь
надо так. iptables -t nat -A POSTROUTING -s (eth0 network) -o eth1 - j SNAT --to-source (eth1 address) т.е. в пакетах из сети eth0 подставлять адрес ip (интернетовский) машины-гейта т.е. это надо настраивать именно на той машине, которая имеет ip в инете, а я так понял та настраиваешь на машине рутере между сетями |
------- Отправлено: 23:01, 29-07-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 213
|
Профиль | Отправить PM | Цитировать Demige
ну почему же? пусть себе будет межсетевой nat (если именно это требуется). Просто маршруты настроить надо правильно. Команда имхо будет правильно выглядеть так: iptables -t nat -A POSTROUTING -s 172.20.0.10/32 -o eth1 - j SNAT --to-source 192.168.2.1 где 172.20.0.10/32 - адрес того, кого хотим выпустить вовне, 192.168.2.1 - адрес eth1 |
------- Отправлено: 10:36, 30-07-2003 | #3 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Спасибо, ребята! Только вот проблема осталась...
Попробую рассказать поподробней, что мне нужно. Имеются вот такие сетки: Home_host (172.20.0.2)<->((172.20.0.1,eth0)Main_home_host(eth1,192.168.2.145))<->((192.168.2.254)Gate(Inet IP)) - Provider Main_home_host - мой комп, подключенный к муниципальной сети, соответственно, все исходящие пакеты должны содержать адрес источника 192.168.2.145, иначе о доступе в инет и к ресурсам локалки не будет и речи (платная сетка-то). Gate - системный шлюз в инет, все адреса источников маскарадятся на выделенный инетовский IP. Home_host - еще один мой комп, с которого я хочу иметь доступ к ресурсам сети и инета. Вот такая вот картинка получается... как вы посоветовали - я уже делал, перепробовал все, но в итоге все та же ошибка 'Invalid argument'. Методом "тыка" определил, что ошибку вызывает все действия после '-j', будь то SNAT --to-source IP или простой MASQUERADE. Вот и не пойму, в чем дело... ядро сконфигурировано с поддержкой ipv4, модули загружаю прямо из скрипта без всяких ошибок. |
Отправлено: 17:30, 30-07-2003 | #4 |
Старожил Сообщения: 213
|
Профиль | Отправить PM | Цитировать возможно проблема в том, что необходимые iptables модули автоматом не подгружаются. Посмотри lsmod. Если какие-то из нижеприведенных модулей отсутствуют (второй блок по мере надобности) - действуй modprobe
ip_tables ip_conntrack iptable_filter iptable_mangle iptable_nat ipt_state ipt_REJECT ipt_MASQUERADE ipt_LOG ipt_limit ip_conntrack_ftp ip_conntrack_irc ip_nat_ftp ip_nat_ircip_nat_irc ipt_owner |
|
------- Отправлено: 09:48, 31-07-2003 | #5 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Я эти модули загружаю прямо из скрипта, в случае неудачи появлялась бы ошибка modprobe, а ее нет. Что интересно, сегодня сконфигурировал и поставил ядро 2.4.20 и все заработало на том же скрипте
![]() Спасибо всем за помощь! Если есть какие-нибудь соображения по этому поводу, буду очень рад их выслушать, тема пока открыта! |
Отправлено: 19:24, 31-07-2003 | #6 |
glassMonk
Сообщения: n/a |
Огромное спасибо JeweL. Так как мне почти не приходилосб работать с NAT.
|
Отправлено: 11:35, 02-08-2003 | #7 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Моя проблема решилась очень просто: поставил IPTABLES 1.2.8 (вместо 1.2.7а), после чего на ядре 2.4.21 скрипт заработал (сам удивляюсь). Если кому-нибудь пригодится мой опыт объединения двух сетей с взаимным (или доверенным) доступом к их ресурсам и инету, всегда буду рад помочь: delalex@inbox.ru
|
Отправлено: 11:01, 03-08-2003 | #8 |
Пользователь Сообщения: 111
|
Профиль | Отправить PM | Цитировать маскарад - это частный случай SNAT. Используется когда машине присваивается внешний Динамический Ip.И только.
В твоем случае как я понимаю имеется две статичесеи сетки так что маскарад здесь не нужен а нужен SNAT. Вот таое дополнение Добавлено: маскарад - это частный случай SNAT. Используется когда машине присваивается внешний Динамический Ip.И только. В твоем случае как я понимаю имеется две статичесеи сетки так что маскарад здесь не нужен а нужен SNAT. Вот таое дополнение |
------- Отправлено: 13:05, 05-08-2003 | #9 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Вполне с этим согласен - я и использовал SNAT. *Маскарад здесь был упомянут лишь потому, что не работала именно функция подмены IP-адреса источника в исходящих пакетах, для чего, собственно, SNAT и маскарад и предназначены.
Можно применять маскарад и для статического IP-адреса, просто это является нецелесообразным, т.к. увеличивает нагрузку на систему... в чем между ними разница: SNAT поставлена конкретная задача - менять адрес источника на явно указанный IP, a MASQUERADE после каждого пакета "забывает", что надо "подсовывать" в качестве исходящего IP и запрашивает адрес внешнего сетевого интерфейса по новой - отсюда и повышенная затребованность ресурсов. |
Отправлено: 05:43, 06-08-2003 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Proxy/NAT - Настройка NAT в WS win 2003 server (3 - интерфейса, 2 -NAT ) | kopchik | Сетевые технологии | 13 | 09-11-2007 17:17 | |
[решено] Проблема NAT'a или уже бог знает чего... (2003RU sp1, DC, DNS, NAT+10 XP ) | Solid20 | Microsoft Windows NT/2000/2003 | 14 | 24-07-2006 10:32 | |
IP Маскарадинг в WinXP | WebCode | Сетевые технологии | 3 | 06-12-2005 22:37 | |
Маскарадинг, Фидо, DNS | alexseich | Сетевые технологии | 9 | 03-09-2003 18:40 | |
nat | Guest | Сетевые технологии | 1 | 10-03-2003 19:17 |
|