nixp.ru v3.0

17 октября 2017,
вторник,
11:04:15 MSK

DevOps с компанией «Флант»
CronAcronis написал 7 января 2005 года в 20:28 (402 просмотра) Ведет себя как мужчина; открыл 7 тем в форуме, оставил 14 комментариев на сайте.

Вообщем структура сети:

На «192.168.70.50» есть инет, который он ест от «Шлюза с Инетом».

Задача дать инет юзерам «192.168.1.23», «192.168.1.99» посредтсвом NAT.

В машине «192.168.1.2» торчат 2 контроллера:

eth1 — 192.168.1.2

eth2 — 192.168.70.98

В машине «192.168.70.50» торчит 1 контроллер:

eth0 — 192.168.70.50

Пинги из сети 192.168.1 идут в 192.168.70 посредством шлюза «192.168.1.2».

Правила на «192.168.1.2»:

[root@server2 etc]# more inet
#!/bin/bash
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t filter -A INPUT -p ICMP -j ACCEPT
iptables -t filter -A OUTPUT -p ICMP -j ACCEPT
iptables -t filter -A FORWARD -p ICMP -j ACCEPT
#SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -t filter -A FORWARD -j ACCEPT
#WEBMIN
iptables -t filter -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 10000 -j ACCEPT
#NAT
iptables -t nat -A POSTROUTING -d 192.168.70.50 -o eth2 -j SNAT --to-source 192.168.70.98
iptables -t nat -A POSTROUTING -s 192.168.70.98 -o eth1 -j SNAT --to-source 192.168.1.2

Вообщем тут есть НО, если отключить фовард ICMP то пинги не идут, NAT получается там вообще по барабану, хотя вроде как должен работать.

Собственно задача, какие правила NAT писать на «192.168.70.50»??? Т.к. те правила которые я написал для «192.168.1.2» не работают без FORWARD.

З.Ы. Прямой форвард гнать на «192.168.1.2» нельзя, т.к. там ещё FTP на внешку.

Genie

в простейшем случае:

$ cat natting
#!/bin/sh
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t nat -o eth2 -A POSTROUTING -j MASQUERADE
iptables -t filter -A INPUT -j ACCEPT
iptables -t filter -A OUTPUT -j ACCEPT
iptables -t filter -A FORWARD -i eth1 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

проверить хождение пингов и пр.

дальше — больше — настройка активного ftp и прочего, ищи поиском по сайту мой конфиг домашнего шлюза — «iptables firewall» — с докой, которая на opennet.ru находится — самое то. ;)

З.Ы. Прямой форвард гнать на «192.168.1.2» нельзя, т.к. там ещё FTP на внешку.

ЧТО это значит — я так и не понял. хотя долго думал….

Genie

естественно, что в предыдущем допущены умолчания:

1) сам server2 через «шлюз в инет» имеет доступ до интернета

2) на компах 192.168.1.xx в качестве default gateway выставлен 192.168.1.2

CronAcronis

на 70.50 всего один интерфейс.

Genie

ну ты по-русски расскажи, что ты хочешь, а?

а то непонятно, может ли server2, который, как я понял, 192.168.70.98, иметь инет сам?

если да, то приведённого мной достаточно.

далее, не особенно понятно, что онзначает «на 70.50 всего один интерфейс.» как же это оно тогда (точнее каким именно из приходящих на ум трёх способов)

На «192.168.70.50» есть инет, который он ест от «Шлюза с Инетом».

хотя.. я картинку ещё не смотрел :))

только что заметил, что она есть — дома как-то их не таскаю :))

счас погляжу

Genie

ну, немного прояснилось ;)

так вот вопрос остаётся в силе:

может ли server2, который, как я понял, 192.168.70.98, иметь инет сам?

или это надо обязательно через 192.168.70.50, который может получать интернет?

вот только в таком виде есть небольшая закавыка. доступ до настройки этого самого 70.50 — есть?

CronAcronis

Инет должен получать 192.168.70.98 через 192.168.70.50

Genie

а что для этого (получения инета компом с адресом 192.168.70.98) сделано на 192.168.70.50?

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

а как именно — это уже надо думать…

CronAcronis

Так собственно это и спрашивается =)

Genie

вариант 1. настроить PPPoE сервер на 192.168.70.50

клиенты из 192.168.1.0/24 подключаются к этому серверу (благодаря настройкам, указанным мною ранее для 192.168.1.2||192.168.70.98 они это смогут сделать)

при необходимости, на 192.168.70.50 настроить MASQUERADE.

на клиентах не забыть правильно настроить маршрутизацию.

CronAcronis

да проще всё гораздо.

правила не могу написать чтобы ходил инет на 192.168.70.98 через 192.168.70.50

Genie

можно, конечно, попробовать использовать действие ROUTE в таблице mangle, но как одновременно сделать MASQUERADE — не понятно.

сходу пока что больше ничего в голову не приходит

CronAcronis

Также на 192.168.70.50 висит HTTPD и FTPD.