LINUX.ORG.RU
ФорумAdmin

Странное поведение NAT


0

1

ОС Xubuntu 11.10. стоит на шлюзе. 2 сетевые карты. Интерфейсы прописаны в auto, внешний в dhcp от провайдера, внутренний в статичный адрес, т.к. раздаёт в локалку адреса.

Установлены: - isc-dhcp-server в роли DHCP, интерфейс прописан, настройки есть. Работает.

- подключение с «внешней» сетевой карты в интернет идёт через прогу vpnpptp (пока вручную включаю). Инет на шлюзе есть, проверено.

- пытаюсь раздать инет в локалку, написал простейший скриптик для iptables (автозагружается, проверил), но с клиентов сети открываются только страницы доменов yandex.ru и mail.ru. Остальные не открываются даже по ip (цифрам). Трассировка узлов интернета работает, на некоторые даже пинги идут (редко), но сайты не открываются.

Где собака зарылась? Как отловить проблему? Пожалуйста, помогите. Заранее спасибо!

(звездочками скрыты некоторые места)

при вставке сюда, какая-то каша получается...

файл dhcpd.conf

authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.100 192.168.0.199;
  option domain-name "*****";
  option routers 192.168.0.1;
  default-lease-time 86400;
  max-lease-time 86400;
  option broadcast-address 192.168.0.255;
  option subnet-mask 255.255.255.0;
  option domain-name-servers ************, ***************;
}

файл interfaces

auto lo
iface lo inet loopback

#WAN=eth1
auto eth1
iface eth1 inet dhcp

#LAN=eth0
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0

файл isc-dhcp-server

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#	Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

файл resolv.conf

# Generated by NetworkManager
domain ***
search ***
nameserver **************
nameserver **************

файл inet.up (запускается из rc.local)

#!/bin/sh

##############################
echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
## modprobe ip_conntrack
## modprobe ip_conntrack_ftp
## modprobe nf_nat_pptp
## modprobe nf_conntrack_pptp
## modprobe nf_conntrack_proto_gre
## modprobe nf_nat_proto_gre
## modprobe iptable_nat
## modprobe ip_nat_ftp
## modprobe ipt_LOG
##############################

IPT="/sbin/iptables"

PPP="ppp0"
WAN="eth1"
LAN="eth0"

LOOPBACK="127.0.0.0/8"		# диапазон IP-адресов обратной петли 
CLASS_A="10.0.0.0/8"		# адреса класса А, предназначенные для
                        	# внутреннего использования 
CLASS_B="172.16.00/22"		# адреса класса B, предназначенные для              
                        	# внутреннего использования 
CLASS_C="192.168.0.0/16"	# адреса класса C, предназначенные для
                        	# внутреннего использования 
CLASS_D="244.0.0.0/4"		# адреса класса А, предназначенные для
                        	# группового вещания 
CLASS_E="240.0.0.0/5"		# зарезервированные адреса класса Е  

BROADCAST_SRC="0.0.0.0"		# исходный широковещательный 
BROADCAST_DST="255.255.255.255"	# целевой широковешательные 
PRIVPORTS="0:1023"      	# номера привелегированных портов 
UNPRIPORTS="1024:65535"		# номера непривелегированных портов 

# Сбрасываеим все правила  
$IPT -P INPUT ACCEPT 
$IPT -P FORWARD ACCEPT 
$IPT -P OUTPUT ACCEPT 
$IPT -t nat -P PREROUTING ACCEPT 
$IPT -t nat -P POSTROUTING ACCEPT 
$IPT -t nat -P OUTPUT ACCEPT 
$IPT -t mangle -P PREROUTING ACCEPT 
$IPT -t mangle -P OUTPUT ACCEPT 
# Удаление правил  
$IPT -F 
$IPT -t nat -F 
$IPT -t mangle -F 
# Очищаем нестандартные правила 
$IPT -X 
$IPT -t nat -X 
$IPT -t mangle -X 

############################
## $IPT -P INPUT DROP 
## $IPT -P FORWARD DROP 
## $IPT -P OUTPUT DROP 

#### TEST ##################
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT 
$IPT -P OUTPUT ACCEPT
############################

### LO ###
$IPT -A INPUT -p ALL -i lo -j ACCEPT 
$IPT -A OUTPUT -p ALL -o lo -j ACCEPT

### Forwarding ###
$IPT -t nat -A POSTROUTING -o $PPP -s 192.168.0.0/24 -j MASQUERADE
$IPT -t nat -A POSTROUTING -o $WAN -s 192.168.0.0/24 -j MASQUERADE
$IPT -A FORWARD -i $WAN -o $LAN -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i $PPP -o $LAN -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT
$IPT -A FORWARD -i $LAN -o $PPP -j ACCEPT

#iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
#iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
#iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT

Ответ на: комментарий от krasnopoyas

в dhcpd.conf добавлено:

option domain-name-servers ***, ***;

ещё что-то необходимо где-то?

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

тестил на клиенте такой же Xubuntu, только amd64. (на шлюзе 386-ая версия) какой адрес потестить (для сравнения)?

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

DNS клиенты получают от шлюза, а на шлюзе прописаны провайдерские ДНС. Клиенты пингуют оба ДНСа уверенно.

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

может это быть от того что в resolv.conf шлюза прописан один домен (его судя по всему прога vpnpptp сама туда прописала), а dhcp-сервер выдаёт клиентам другой домен?

можно ли в dhcpd.conf поле option domain-name не прописывать? или надо прописать такой же как и на шлюзе?

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