У меня аналогичная ситуация, мой стационарный комп выступает в качестве точки доступа для ноута. В качестве вай-фай карты выступает адаптер, установленный на стационарном компе. Интернет адреса для ноута раздаются через DHCP-сервер. Так вот, DNS ему предоставляет сам DHCP сревер.
Могу предположить, что DHCP сервер не правильно настроен, потому и тормозняки (из-за DNS).
Для моего ноута я организовал сеть 10.10.0.0 и соответственно ноутбук, при подколючении к моему "серверу" получает адрес 10.10.0.2.
Шлюзом для ноута должен быть 10.10.0.1 и DNS соответственно такой же. т.е. 10.10.0.1. (Хотя сам DHCP-сервер стучится по адресу DNS и на шлюз 192.168.1.1. Выше , в моих сообщениях приведены конфиги для ноута!, а не для сервера ).
Ниже настройки DHCP-сервера /etc/dhcp/dhcp.conf
Кроме этого, в /etc/default/isc-dhcp-server следует прописать
Консоль:
robert@robby:~$ cat /etc/default/isc-dhcp-server
INTERFACES="wlan0"
Консоль:
ddns-update-style none;
option domain-name-servers 192.168.1.1; # <-- Тут впишите свой DNS сервер
#option routers 192.168.1.1;
default-lease-time 3600;
max-lease-time 86400;
authoritative;
log-facility local7;
deny bootp;
subnet 10.10.0.0 netmask 255.255.255.0 {
range 10.10.0.2 10.10.0.255;
option routers 10.10.0.1;
}
Но это еще не все. для нормальной работы настроить DHCP сервер МНЕ БЫЛО НЕДОСТАТОЧНО!! Необходимо было дополнительно прописать правила в файерволе. Только после этого у меня сеть поднялась и заработала нормально! Правила, разрешающие переход из одной сети в другую. Не знаю как у вас, но усли ноут и "сервер" лежат в одной сети то SNAT и DNAT прописывать не нужно, но Маскарадинг прописывать необходимо, потому что у вас DHCP.
вот мои настройки файервола (/etc/rc.firewall).
#!/bin/bash
echo "Starting rc.firewall..."
#------------------------------------------- Variables -------------------------------------------
IPT="/sbin/iptables"
INET_IFACE="eth0"
LAN_IFACE="wlan0"
CLOSEPORTS="630,640,783,3310,10000,37638,111"
UNPRIPORTS="1024:65535"
SSH="443"
TORRENT="6881,6882,6883,6884,6885,6886,6887,6888,6889"
VPN="1194"
SKYPE="23399"
MAIL="25,110,143,993,995"
#-------------------------------------------- Modules -------------------------------------------
#
# Module loading.
#
# Needed to initially load modules
#
/sbin/depmod -a
#
# Required modules
#
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe x_tables
/sbin/modprobe xt_tcpudp
/sbin/modprobe iptable_filter
#
# Non-Required modules
#
#/sbin/modprobe ipt_owner
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
#/sbin/modprobe ip_nat_irc
#
# Включить перенаправление пакетов через ядро.
#
echo 1 > /proc/sys/net/ipv4/ip_forward
#
# Защита от Syn flood атаки
#
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
#echo 1 > /proc/sys/net/ipv4/ip_dynaddr
#
# Удаление правил
#
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -F
$IPT -X
#-------------------------------------------- Politics -------------------------------------------
#
# Политики по умолчанию
#
$IPT -P FORWARD DROP
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
#
#---------------------------------------------- Rules -------------------------------------------
#
#
# Разрешаем прохождение любого трафика по интерфейсу обратной петли.
#
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
#
# Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах:
#
$IPT -A INPUT -p tcp -m multiport --destination-port $CLOSEPORTS -i $INET_IFACE -j DROP
$IPT -A INPUT -p udp -m multiport --destination-port $CLOSEPORTS -i $INET_IFACE -j DROP
#
# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
#
$IPT -A INPUT -m state --state INVALID -j LOG
$IPT -A FORWARD -m state --state INVALID -j LOG
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP
#
###############################################################################
# Различные разновидности атак
###############################################################################
# Существует одна из разновидностей спуфинг-атак, которая называется "Предсказание номера TCP-последовательности".
# Смысл атак такого рода заключается в использовании чужого IP-адреса для нападения на какой либо узел сети.
# Данное правило должно идти первым, перед правилом "not sync and state NEW"
#
$IPT -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j LOG --log-prefix "Spoofing"
$IPT -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
#
# Пакеты со статусом NEW и со сброшенным битом SYN - SYN наводнение.
# Приводит к связыванию системных ресурсов, так что реальных обмен данными становится не возможным.
#
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "Pocket is NEW and not SYN!"
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#
# ICMP - перенаправление
# ICMP- сообщение указывает системе изменить содержимое таблиц маршрутизации с тем, что бы направлять
# пакеты по более короткому маршруту. Может быть использовано взломщиком для перенаправления вашего трафика
# через свою машину.
#
$IPT -A INPUT --fragment -p ICMP -j LOG --log-prefix "Fragment pocket"
$IPT -A OUTPUT --fragment -p ICMP -j LOG
$IPT -A INPUT --fragment -p ICMP -j DROP
#
# Запрещаем подключение к X серверу через сетевые интерфейсы.
#
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --destination-port 6000:6063 -j DROP --syn
###############################################################################
# ОТСЮДА НАЧИНАЮТСЯ ПРАВИЛА РАЗРЕШАЮЩИЕ
###############################################################################
#
# Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим признак ESTABLISHED.
# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
#
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# Разрешаем прохождение DHCP запросов через $IPT. Нужно, если IP адрес динамический.
# В действительности, эта задача достаточно проста, если вам известны принципы работы протокола DHCP. Прежде всего
# необходимо знать, что DHCP работает по протоколу UDP. Следовательно, протокол является первым критерием. Далее,
# необходимо уточнить интерфейс, например, если DHCP запросы идут через $LAN_IFACE, то движение запросов DHCP следует
# разрешить только через этот интерфейс. И наконец, чтобы сделать правило более определенным, следует уточнить порты.
# DHCP использует порты 67 и 68.
#
$IPT -A INPUT -p udp -m udp -i $LAN_IFACE --destination-port 67:68 --source-port 67:68 -j ACCEPT
$IPT -A OUTPUT -p udp -m udp -o $LAN_IFACE --destination-port 67:68 --source-port 67:68 -j ACCEPT
#
# Разрешаем ДНС
#
$IPT -A INPUT -p udp --source-port 53 --destination-port $UNPRIPORTS -j ACCEPT
#
# Разрешаем почту
#
iptables -A INPUT -i $INET_IFACE -p tcp -m multiport -m conntrack --ctstate NEW --source-port $MAIL -j ACCEPT
iptables -A INPUT -i $INET_IFACE -p udp -m multiport --source-port $MAIL -j ACCEPT
#
# Разрешаем себе ping наружу, ставим ограничение на ping своей машины.
#
$IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/minute --limit-burst 6 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j DROP
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 5/minute --limit-burst 6 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type echo-request -j DROP
#
# SSH
#
$IPT -A INPUT -p tcp --destination-port $SSH --syn -m state --state NEW -j ACCEPT
#
# Deluge
#
$IPT -A INPUT -p tcp -m multiport --destination-port $TORRENT -m state --state NEW -j ACCEPT --syn
$IPT -A INPUT -p udp -m multiport --destination-port $TORRENT -m state --state NEW -j ACCEPT
#$IPT -A INPUT -p tcp -m multiport --destination-port $TORRENT -j ACCEPT
#$IPT -A INPUT -p udp -m multiport --destination-port $TORRENT -j ACCEPT
#
# DC++
#
#$IPT -A OUTPUT -p tcp --source-port $UNPRIPORTS --destination-port 411 -j ACCEPT # Hub connection
#$IPT -A INPUT -p tcp --source-port 411 --destination-port $UNPRIPORTS -j ACCEPT # Hub connection
#$IPT -A OUTPUT -p tcp --source-port 9176 -j ACCEPT # Download files
#$IPT -A OUTPUT -p udp --source-port 9176 -j ACCEPT # Download files
#$IPT -A INPUT -p tcp --destination-port 9176 -j ACCEPT # Upload files
#$IPT -A INPUT -p udp --destination-port 9176 -j ACCEPT # Search files
#$IPT -A OUTPUT -p udp --source-port $UNPRIPORTS --destination-port 23340 -j ACCEPT
#$IPT -A INPUT -p udp --source-port $UNPRIPORTS --destination-port 23340 -j ACCEPT
#$IPT -A OUTPUT -p tcp --source-port $UNPRIPORTS --destination-port 23340 -j ACCEPT
#$IPT -A INPUT -p tcp --source-port $UNPRIPORTS --destination-port 23340 -j ACCEPT
#$IPT -A OUTPUT -p tcp --source-port $UNPRIPORTS --destination-port 23341 -j ACCEPT
#$IPT -A INPUT -p tcp --source-port $UNPRIPORTS --destination-port 23341 -j ACCEPT
#
# OPENVPN
#
#$IPT -A INPUT -p tcp --destination-port $VPN -j ACCEPT
#$IPT -A INPUT -i tap+ -j ACCEPT
#
# SKYPE
#
#$IPT -A INPUT -p tcp -s 0/0 --destination-port $SKYPE -j ACCEPT
#$IPT -A INPUT -p udp -i $INET_IFACE --destination-port $SKYPE -j ACCEPT
#
# Включаем маскарадинг для внутренних сетей
#
$IPT -t nat -A POSTROUTING -s 10.10.0.0/24 -j MASQUERADE
$IPT -A FORWARD -s 10.10.0.0/24 -o $INET_IFACE -j ACCEPT
$IPT -A FORWARD -d 10.10.0.0/24 -i $INET_IFACE -j ACCEPT
Я думаю, что прописать чепочки FORWARD вам бы тоже было не лишним. Вот скрипт (я назвал его iptables), который запускает правила файервола в работу.
#!/bin/bash
### BEGIN INIT INFO
# Provides: firewall
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Custom iptables rules
### END INIT INFO
if [ ! -f /etc/rc.firewall ]; then
echo "/etc/rc.firewall does not exist"
exit 0
fi
case "$1" in
start|restart)
echo -n "Starting iptables..."
/etc/rc.firewall
echo "done."
;;
stop)
/sbin/iptables -t mangle -F
/sbin/iptables -t mangle -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -F
/sbin/iptables -X
echo -n "done."
exit 0;
;;
*) echo -n "Usage: /etc/init.d/iptables {start|restart|stop}" >&2
exit 1
;;
esac
exit 0
На оба скрипта должны быть установлены права rwx---- (700). iptables должнен быть размещен в /etc/init.d/
Установить его в автозагрузку можно при помощи программы rcconf (если ее нет то установите, очень удобная прога).
Debian Lenny
Кто сказал что Пингвин не птица?? Пингвин умеет летать.
Поверьте!