Переброс пакетов из мира на локаль. [SOLVED]

Извините за тупой вопрос, на который можно наверно найти ответ в доках, но всё же.
Есть машина подключена к инету по adsl. Она шлюз, и главный сервер в моей сети. Вот хочу её немного разгрузить. Поднял новый сервак для www, а как теперь с помощью iptables перекинуть все забросы на ip 195.112.247.221 (это инетовский ip адрес, так же у этой машины ip 172.16.0.1) на локальный ip 172.16.0.2. Напишите мне пожалуйста пару волшебных строчек.
И нормально ли apache в таком случае будет работать с виртуальными хостами?

# это для

# это для внешних клиентов
iptables -t nat -A PREROUTING -d 195.112.247.221 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.2

# это для внутренних клиентов
iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -d 172.16.0.2 -p tcp --dport 80 -j SNAT --to-source 172.16.0.1

iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 172.16.0.2 -j ACCEPT

Включить net.ipv4.ip_forward = 1 в /etc/sysctl.conf

Апачь должен нормально работать с виртхостами, если конечно в dns будут указаны имена этих хостов, указывающие на 195.112.247.221 и заходить на них по именам, а не просто по ip.

Ещё, роутер должен стоять шлюзом по умолчанию для всех внутренних клиентов и для веб сервера.

Re: # это для

Rinus написал(а):
# это для внешних клиентов
iptables -t nat -A PREROUTING -d 195.112.247.221 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.2

# это для внутренних клиентов
iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -d 172.16.0.2 -p tcp --dport 80 -j SNAT --to-source 172.16.0.1

iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 172.16.0.2 -j ACCEPT

Включить net.ipv4.ip_forward = 1 в /etc/sysctl.conf

Апачь должен нормально работать с виртхостами, если конечно в dns будут указаны имена этих хостов, указывающие на 195.112.247.221 и заходить на них по именам, а не просто по ip.

Ещё, роутер должен стоять шлюзом по умолчанию для всех внутренних клиентов и для веб сервера.

Спасибо за такой подробный ответ, так то у меня всё работает, и всё понятно, мне нужно было только это одно правило:
iptables -t nat -A PREROUTING -d 195.112.247.221 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.2

Блин, не

Блин, не работает. Всё норм. работает, во внутренней сетке то это не проблема, там и переброса не надо, в bind все ip норм. прописанны, а вот сделал iptables -t nat -A PREROUTING -d 195.112.247.221 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.2 и с мира не могу зайти. Захожу links'ом говорит устанавливаю соединение и всё. Потом тайм аут. iptables весь сброшен, всё разрешенно. В /etc/sysctl всё норм. Что за беда может быть???

Может кто

Может кто поможет?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".