Сервер поднят на LinuxRH
Нат поднимается вот таким скриптом:
#!/bin/sh
INET="192.168.1.0/255.255.255.0"
ANY="0.0.0.0/0"
EXTDEV="ppp0"
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source мойIP
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -A INPUT -j ACCEPT -p udp -s $ANY --sport 53 -d $ANY
/sbin/iptables -A OUTPUT -j ACCEPT -p udp -s $ANY -d $ANY --dport 53
echo "NAT!"проблема:
клиентская машина не заходит на сервер (не видет DNS)
В настройках клиента прописан мой сервер как шлюз и DNS и 2-ым стоит DNS провайдэра.
С Сервера я DNS вижу без проблем. Если с клиента заходить на IP в инете всё работает!
Подскажите пожалусто что делать....
>Сервер поднят на LinuxRH
>Нат поднимается вот таким скриптом:
>#!/bin/sh
>INET="192.168.1.0/255.255.255.0"
>ANY="0.0.0.0/0"
>EXTDEV="ppp0"
>iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source мойIP
>echo 1 > /proc/sys/net/ipv4/ip_forwardследущее не имеет никакого значения (все равно все открыто)
>/sbin/iptables -A INPUT -j ACCEPT -p udp -s $ANY --sport 53 -d
>$ANY
>/sbin/iptables -A OUTPUT -j ACCEPT -p udp -s $ANY -d $ANY --dport
>53
>echo "NAT!"по идее стоит фильтровать весь трафик, но это отдельная история
а вот маскарадинг должен быть типа этого:
iptables -t nat -A POSTROUTING --out-interface $EXTDEV -s 192.168.1.0/24 -j SNAT --to-source мойIP
>>Сервер поднят на LinuxRH
>>Нат поднимается вот таким скриптом:
>>#!/bin/sh
>>INET="192.168.1.0/255.255.255.0"
>>ANY="0.0.0.0/0"
>>EXTDEV="ppp0"
>>iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source мойIP
>>echo 1 > /proc/sys/net/ipv4/ip_forward
>
>следущее не имеет никакого значения (все равно все открыто)Очень даже имеет. Данный ключ, чтобы Вы знали, разрешает форвард пакетов через машину в принципе. То есть позволяет ей работать как роутер.
>
>>/sbin/iptables -A INPUT -j ACCEPT -p udp -s $ANY --sport 53 -d
>>$ANY
>>/sbin/iptables -A OUTPUT -j ACCEPT -p udp -s $ANY -d $ANY --dport
>>53Это не имеет смысла. Посколько пакеты идут на DNS провайдера, то нужно разрешить форвардинг, а Вы разрешаете входящие/исходящие пакеты. То есть нужно:
-A FORWARD -p udp -m udp -s $ANY -i $YOUR_LAN_IFACE -d $PROV_DNS_IP --dport 53 -j ACCEPT
И еще, читайте документацию, в ней хорошо описано каким образом пакеты двигаются внутри таблиц NetFilter.
>>echo "NAT!"
>
>по идее стоит фильтровать весь трафик, но это отдельная история
>
>а вот маскарадинг должен быть типа этого:
>
>iptables -t nat -A POSTROUTING --out-interface $EXTDEV -s 192.168.1.0/24 -j SNAT --to-source
>мойIP
>>>Сервер поднят на LinuxRH
>>>Нат поднимается вот таким скриптом:
>>>#!/bin/sh
>>>INET="192.168.1.0/255.255.255.0"
>>>ANY="0.0.0.0/0"
>>>EXTDEV="ppp0"
>>>iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source мойIP
>>>echo 1 > /proc/sys/net/ipv4/ip_forward
>>
>>следущее не имеет никакого значения (все равно все открыто)
>
>Очень даже имеет. Данный ключ, чтобы Вы знали, разрешает форвард пакетов через
>машину в принципе. То есть позволяет ей работать как роутер.я говорил следущее, а не предыдущее
>>
>>>/sbin/iptables -A INPUT -j ACCEPT -p udp -s $ANY --sport 53 -d
>>>$ANY
>>>/sbin/iptables -A OUTPUT -j ACCEPT -p udp -s $ANY -d $ANY --dport
>>>53
>
>Это не имеет смысла. Посколько пакеты идут на DNS провайдера, то нужно
>разрешить форвардинг, а Вы разрешаете входящие/исходящие пакеты. То есть нужно:
>
>-A FORWARD -p udp -m udp -s $ANY -i $YOUR_LAN_IFACE -d $PROV_DNS_IP
>--dport 53 -j ACCEPT
>
>И еще, читайте документацию, в ней хорошо описано каким образом пакеты двигаются
>внутри таблиц NetFilter.
>
>>>echo "NAT!"
>>
>>по идее стоит фильтровать весь трафик, но это отдельная история
>>
>>а вот маскарадинг должен быть типа этого:
>>
>>iptables -t nat -A POSTROUTING --out-interface $EXTDEV -s 192.168.1.0/24 -j SNAT --to-source
>>мойIP
Подними DNS-сервер на машине, которая маскарадит (делает NAT). Ну и кажи его всем клиентам первым в списке.