nixp.ru v3.0

23 октября 2017,
понедельник,
12:56:51 MSK

DevOps с компанией «Флант»
yei написала 20 февраля 2007 года в 08:25 (545 просмотров) Ведет себя как женщина; открыла 14 тем в форуме, оставила 79 комментариев на сайте.

Здраствуйте

Объясните пожалуйста как в сети организовать NAT. C простыми правилами вроде разобралась, а с натом че то никак не могу.

Объясните на следущих примерах:

eth0: 10.1.1.0/24

eth1: 192.168.1.0/24

1. как разрешить видеть и пинговать компьютеры из сети 10.1.1.0/24 компьютерам 192.168.1.10 — 192.168.1.50

2. как разрешить с определенных МАС сети 192.168.1.0/24 использовать www,ftp,pop3,smtp,icq сети 10.1.1.0/24

Большое спасибо

fly4life
yei
Здраствуйте

Объясните пожалуйста как в сети организовать NAT. C простыми правилами вроде разобралась, а с натом че то никак не могу.

Объясните на следущих примерах:

eth0: 10.1.1.0/24

eth1: 192.168.1.0/24

1. как разрешить видеть и пинговать компьютеры из сети 10.1.1.0/24 компьютерам 192.168.1.10 — 192.168.1.50

Если обе сети соединяет один и тот же роутер, то никакого NAT не надо. Достаточно настроить роутинг.

yei
2. как разрешить с определенных МАС сети 192.168.1.0/24 использовать www,ftp,pop3,smtp,icq сети 10.1.1.0/24

'man iptables' на предмет '--mac-source’.

Вообще, по iptables есть хороший tutorial (и даже переведённый на русский). Ищется на раз в гугле.

Dr. Evil

-A FORWARD -s 192.168.201.0/24 -d 10.1.1.0/24 -i eth1 -p tcp -m state --state NEW (про STATE тоже почитаешь ;)) -m multiport --dports 22,25,80,110,.. (вставь нужные порты) -m mac --mac-source _укажи здесь mac узла_ -j ACCEPT

Почитать tutorial очень необходимо ;)

yei

еслиб не читала, не написала бы!

ладно пойду эксперементировать…

Yaazard

МОжет теперь мне поможите?=)) прочитал понял в двух чартах все, но всеравно че то запустался…

ща у меня примерно так

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

iptables -t nat -A POSTROUTING -s 172.20.78.0/24 -o eth0 -j MASQUERADE

НО хоцца чтоб на сам серв можно было зайти только по ftp и www че тут дописать надо?)))) я в iptables не силен))

fly4life
Yaazard
МОжет теперь мне поможите?=)) прочитал понял в двух чартах все, но всеравно че то запустался…

ща у меня примерно так

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

iptables -t nat -A POSTROUTING -s 172.20.78.0/24 -o eth0 -j MASQUERADE

НО хоцца чтоб на сам серв можно было зайти только по ftp и www че тут дописать надо?)))) я в iptables не силен))

Ну, раз не силён, тебе сюда:

http://www.opennet.ru/docs/RUS/iptables/

Вкратце, тебе надо выставить политику цепочки INPUT в DROP, затем разрешить на интерфейсе, на который будешь пускать по www и ftp, пакеты с флагами ESTABLISHED и RELATED, а также — с флагом NEW на нужные тебе порты (21 и 80, насколько я понимаю). Подробнее — в указанной мною ссылке ;).

Yaazard

ммммм мда) прочитал там все не очень понял…

Если палитику INPUT поставить в DROP получается и маскарадинг полетит или я путаю?

еcho 1 > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

iptables -t nat -A POSTROUTING -s 172.20.78.0/255.255.0.0 -o eth1 -j MASQUERADE

получается сюда добавляем сточку тип

iptables -A INPUT DROP

iptables -A INPUT -i eth1 -m multiport --source-port 22,80,10000 эт тип пропуск по портам…

или я чет опять туплю?

просто нужно:

1) на сам сервер по интефейсу eth1 можно было зайти только на 80,10000,22,21,7000-49000 порты.

2) по eth0 на любые порты и соотвественно выход в инет без траблов, т.е. как щас)

3) помощ в этом деле))

fly4life
Yaazard
ммммм мда) прочитал там все не очень понял…

Если палитику INPUT поставить в DROP получается и маскарадинг полетит или я путаю?

Нет, маскарадинг никуда не полетит. В цепочке «INPUT» прописываются правила для пакетов, предназначенных локальной машине (т.е., в твоём случае, для самого роутера).

Yaazard
еcho 1 > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

iptables -t nat -A POSTROUTING -s 172.20.78.0/24 -o eth0 -j MASQUERADE

Это ты настроил NAT. Простейший его вариант.

Yaazard
получается сюда добавляем сточку тип

iptables -A INPUT DROP

iptables -A INPUT -i eth1 -m multiport --source-port 22,80,10000 эт тип пропуск по портам…

или я чет опять туплю?

/интерфейс, надеюсь, ты указал тот, что нужен/

Если надо фильтровать доступ к самому линуксовому роутеру, то тебе надо '--destination-port' вместо '--source-port' (на заметку: куда удобнее использовать их краткие синонимы '--dport' и '--sport’). Также ты не указал протокол, поэтому твоё правило будет пропускать по всем протоколам.

Yaazard

угу т.е. впринцепе эта запсь правельная толко добавить интрфейс?

тобиш так

iptables -A INPUT DROP

iptables -A INPUT -p tcp -i eth1 -m multiport --dport 22…..

а чтоб забить весь udp как поступить?))

fly4life
Yaazard
угу т.е. впринцепе эта запсь правельная толко добавить интрфейс?

тобиш так

iptables -A INPUT DROP

iptables -A INPUT -p tcp -i eth1 -m multiport --dport 22…..

Ага, всё правильно.

fly4life
Yaazard
А чтоб забить весь udp как поступить?))

В смысле? Запретить весь UDP? Теми правилами, которые у тебя сейчас, и так заперщено всё, что явно не разрешено ;).

Yaazard

Хорошо)… а как разрешить вход на 22 порт для определенных IP ))??

ps

знаю много хочу и уже достал))

fly4life
Yaazard
Хорошо)… а как разрешить вход на 22 порт для определенных IP ))??

Точно также, как и доступ по портам, только ещё надо изучить действие ключика '-s' ;).

Yaazard

угу уже нашел как, только вот вопрос вылетел опять

iptables -A INPUT -p tcp -i eth1 -m multiport --dport 49160:49300

пишет что тип галимые парты и тип сервис неправельный… но вродь все правельно:/

fly4life

Потому что, когда в одном правиле указываешь несколько портов, надо использовать '-m multiport --dports'.

Yaazard

вобщем я опять накасячил))

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

iptables -t nat -A POSTROUTING -s 172.20.78.0/255.255.0.0 -o eth1 -j MASQUERADE

iptables -P INPUT DROP РЕАЛЬНО ТУТ НЕ ВТЫКАЮ!!! дроп может быть только указан при указании политики… или тут нужно пускать новую цепочку? если пускать политику то получается падает маскарадин.

Ща сидел перечитывал маны, так и не понял слегка как это будет работать.

iptables -A INPUT -p tcp -i eth1 -m multiport --dport 21,25,80,10000

iptables -A INPUT -p tcp -s х.х.х.х -i eth1 --dport 22

ps

эта ветка круче любого FAQ будет)))

fly4life
Yaazard
iptables -P INPUT DROP РЕАЛЬНО ТУТ НЕ ВТЫКАЮ!!! дроп может быть только указан при указании политики… или тут нужно пускать новую цепочку? если пускать политику то получается падает маскарадин.

Нифига не понял, чего, куда и зачем пускать, и что при этом падает.

Yaazard
Ща сидел перечитывал маны, так и не понял слегка как это будет работать.

Что именно «это»?

Yaazard
ps

эта ветка круче любого FAQ будет)))

Врядли. Туториал всё-таки — сильная вещь! ;).

Yaazard

ну смотри при настройке маскарадинга указываются палити на ACCEPT

так? ток в данном случае это тип переводиться как «включено» или как тип пропуск?

идем далее…

я лично не втыкаю как выстовить политику дропа на сам сервер.

т.е. бональное iptables -P INPUT DROP рушит все на свете, а подругому как пишут в мане не получиться. Только через какие то цепочки, именно которые я и не понял как работают употребив слово это)))

fly4life
Yaazard
ну смотри при настройке маскарадинга указываются палити на ACCEPT

так? ток в данном случае это тип переводиться как «включено» или как тип пропуск?

Ну, пусть так.

Yaazard
идем далее…

я лично не втыкаю как выстовить политику дропа на сам сервер.

т.е. бональное iptables -P INPUT DROP рушит все на свете, а подругому как пишут в мане не получиться. Только через какие то цепочки, именно которые я и не понял как работают употребив слово это)))

На маскарадинг влияют цепочки: FORWARD (из *filter), POSTROUTING, OUTPUT и, в некоторых случаях, PREROUTING (все из *nat). Как и что тебе рушит «iptables -P INPUT DROP» — ума не приложу. Или в «маскарадинг» мы с тобой вкладываем разные понятия? ;).