LINUX.ORG.RU
ФорумAdmin

Просьба помочь настроить NAT


0

0

Имеется вот что:
# cat /etc/conf.d/net
config_eth1=( "192.168.0.3 netmask 255.255.255.0 broadcast 192.168.0.255" )
config_eth0=( "192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255" )

Где eth1 для внутренней сети, eth0 для внешней.
Хочу настроить NAT, так что бы инет из моей машины отдавался на другую. ip другой машины 192.168.0.5.
Сделал modprobe ip_nat, # cat /proc/sys/net/ipv4/ip_forward пишет 1, начал составлять правила для iptables.
Которые не срабаотывалм, не понятно по какой причине:
# iptables-save

# Generated by iptables-save v1.3.8 on Sat Feb 23 01:27:15 2008
*mangle
:PREROUTING ACCEPT [23803364:22217348503]
:INPUT ACCEPT [23802592:22217220620]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [21028402:7463553191]
:POSTROUTING ACCEPT [20949435:7459701405]
COMMIT
# Completed on Sat Feb 23 01:27:15 2008
# Generated by iptables-save v1.3.8 on Sat Feb 23 01:27:15 2008
*nat
:PREROUTING ACCEPT [67746:5008801]
:POSTROUTING ACCEPT [339893:20412345]
:OUTPUT ACCEPT [339928:20414442]
-A PREROUTING -s 192.168.0.5 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -s 192.168.0.5 -j MASQUERADE
COMMIT
# Completed on Sat Feb 23 01:27:15 2008
# Generated by iptables-save v1.3.8 on Sat Feb 23 01:27:15 2008
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [978:325930]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.0.5 -i eth1 -j ACCEPT
COMMIT
# Completed on Sat Feb 23 01:27:15 2008


Однако из второй машины (винда которая) не идет общение с внешним инетом (то бишь- к примеру, инет не пингуется).
Подскажите, что я мог забыть в настройках?

Причем, когда делаю на второй машине доступ через прокси, то все нормально - т.е. машины друг друга видят.

meloman
() автор топика
Ответ на: комментарий от anonymous

Сделал так:
# Generated by iptables-save v1.3.8 on Sat Feb 23 02:59:15 2008
*mangle
:PREROUTING ACCEPT [23796893:22213934815]
:INPUT ACCEPT [23796121:22213806932]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [21022052:7461300153]
:POSTROUTING ACCEPT [20943085:7457448367]
COMMIT
# Completed on Sat Feb 23 02:59:15 2008
# Generated by iptables-save v1.3.8 on Sat Feb 23 02:59:15 2008
*nat
:PREROUTING ACCEPT [67727:5006307]
:POSTROUTING ACCEPT [339392:20382239]
:OUTPUT ACCEPT [339427:20384336]
-A POSTROUTING -s 192.168.0.5 -j MASQUERADE
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Sat Feb 23 02:59:15 2008
# Generated by iptables-save v1.3.8 on Sat Feb 23 02:59:15 2008
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [13:1760]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.0.5 -i eth1 -j ACCEPT
-A FORWARD -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Feb 23 02:59:15 2008


Тот же результат :(

meloman
() автор топика
Ответ на: комментарий от meloman

Кстати, при iptables -P INPUT ACCEPT тоже ничего не выходит :(

meloman
() автор топика
Ответ на: комментарий от meloman

Добавлю, что на удаленной машине при этом не пингуются сайты. Хотя, на виндузовом клиенте я сказал, что DNS использовать 192.168.0.3 (и конечно же- основной шлюз).

meloman
() автор топика
Ответ на: комментарий от meloman

>Я писал: Когда гастраиваешь через прокси, то все нормально.

А может просто прокси использует другой адрес днс?

cat /etc/resolv.conf на 192.168.0.3

Gordon01 ★★
()
Ответ на: комментарий от anonymous

Ничего не получается:

# iptables-save
# Generated by iptables-save v1.3.8 on Sat Feb 23 10:27:29 2008
*nat
:PREROUTING ACCEPT [67966:5025680]
:POSTROUTING ACCEPT [342237:20554416]
:OUTPUT ACCEPT [342282:20558029]
-A POSTROUTING -s 192.168.0.5 -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Feb 23 10:27:29 2008
# Generated by iptables-save v1.3.8 on Sat Feb 23 10:27:29 2008
*mangle
:PREROUTING ACCEPT [23968123:22369693759]
:INPUT ACCEPT [23967351:22369565876]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [21187882:7548937610]
:POSTROUTING ACCEPT [21108671:7545076749]
COMMIT
# Completed on Sat Feb 23 10:27:29 2008
# Generated by iptables-save v1.3.8 on Sat Feb 23 10:27:29 2008
*filter
:INPUT ACCEPT [7:614]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3:159]
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Feb 23 10:27:29 2008


Может, на клиенте покрутить? Какие там могут быть подводные камни?

meloman
() автор топика
Ответ на: комментарий от meloman

1. ping c 192.168.0.5 на 192.168.0.3 проходит ?
2. ping c 192.168.0.5 на 192.168.1.1 проходит?
3. ping c 192.168.0.5 на 213.180.204.8 проходит?

anonymous
()
Ответ на: комментарий от anonymous

1.
c:\>nslookup 213.180.204.8
*** Can't find server name for address 192.168.0.3: No response from server
*** Default servers are not available
Server: UnKnown
Address: 192.168.0.3

2.
# iptables -t nat -L POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.0.5 anywhere
MASQUERADE all -- 192.168.0.5 anywhere
MASQUERADE all -- 192.168.0.5 anywhere

3.
# iptables -t nat -L PREROUTING
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

meloman
() автор топика
Ответ на: комментарий от anonymous

# nslookup 213.180.204.8
Server: 77.239.192.17
Address: 77.239.192.17#53

Non-authoritative answer:
8.204.180.213.in-addr.arpa name = ya.ru.

Authoritative answers can be found from:

meloman
() автор топика
Ответ на: комментарий от anonymous

>Проблема в dns на 192.168.0.5

Можн пояснить?...

meloman
() автор топика
Ответ на: комментарий от anonymous

>> # nslookup 213.180.204.8
Server: 77.239.192.17
Address: 77.239.192.17#53

Non-authoritative answer:
8.204.180.213.in-addr.arpa name = ya.ru.

Authoritative answers can be found from:


Не сразу обратил внимание.

Если бы dns являлся бы 192.168.0.3 то ответ был бы.


# nslookup 213.180.204.8
Server: 192.168.0.3
Address: 192.168.0.3#53

Non-authoritative answer:
8.204.180.213.in-addr.arpa name = ya.ru.

Authoritative answers can be found from:


anonymous
()
Ответ на: комментарий от anonymous

Опять забыл добавить
Получается, что 192.168.0.3 не является dns cервером.

anonymous
()
Ответ на: комментарий от Gordon01

....меломан, читай ,пожалуйста, что я тебе писал ещё раз:

>а на 192.168.0.3 точно есть днс? >Gordon01 (*) (23.02.2008 5:37:34)

ты мне отвечаешь:

>Я писал: Когда гастраиваешь через прокси, то все нормально.

И я тебе на это отвечаю:

>А может просто прокси использует другой адрес днс? >cat /etc/resolv.conf на 192.168.0.3 >Gordon01 (*) (23.02.2008 8:23:06)

Ни ответа на первый вопрос, ни "cat /etc/resolv.conf на 192.168.0.3" я так и не увидел, хотя тут и так видно за километр что проблема в том что на 192.168.0.3 нет ДНС-сервера, и на 192.168.0.5 надо прописать провайдерский, который пытаемся у тебя выудить.

Gordon01 ★★
()
Ответ на: комментарий от Gordon01

>> что проблема в том что на 192.168.0.3 нет ДНС-сервера, и на 192.168.0.5 надо прописать провайдерский, который пытаемся у тебя выудить.

Не надо во внутренней сети использовать внешний dns.
Надо на 192.168.0.3 поднять кэширующий dns для того,что бы использовать его на 192.168.0.5.

anonymous
()
Ответ на: комментарий от Gordon01

Спасибо всем за помощь!
Пока что сделал dns сервера, кэширующий настраивать пока неохота :)

meloman
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.