Ситуация такая: в качестве домашнего сервера поставил себе Ubuntu 10.04.
Интернет раздаётся через 2 сетевые карты: в одну входит, из другой выходит

Для этого используется iptables. Не смотря на то, что брал готовый скрипт, заработало всё почему-то не сразу. Интернет упорно не появлялся на внутренних машинах, хотя на самом сервере был, и даже быстрее чем раньше (там стоял XP).
Я удалил Network-Manager, он на радостях почистил мне /etc/network/interfaces. Прописал их вручную, но, как на зло, во всех хелпах где смотрел было написано про статический ip, а внешний у меня динамический. Пробежался глазами по man'y и написал iface eth0 inet dhcp.
Запустил скрипт подключения к интернету. На одном из этапов он выдал:
Автоматически определяется адрес вашего шлюза...
Определено!
IP вашего районного шлюза: *
К сожалению, IP-адрес шлюза определился неправильно. Он должен иметь вид 10.x.x.x, поэтому Вам нужно ввести его вручную.
До удаления Network-Manager'a этот этап проходил без проблем.
Ладно, вписал шлюз, запустил опять скрипт с iptables и интернет начал раздаваться. Потом установил dnsmasq, и, казалось бы, на этом всё, но не тут-то было.
Интернет работает, но сайты, на которые я ещё не заходил, открываются довольно долго. Chrome пишет "resolving host", Firefox - "looking up название_сайта". Может так думать-думать, а потом выдать, что сайт, мол, не найден, "could not find". Нажимаю ещё раз - открывается. На некоторых сайтах не грузятся картинки. Опять же, перезагружаю - всё на месте.
Что это может быть, и в какую сторону копать?
Если поможет, вот настройки:
/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
broadcast 192.168.2.255
/etc/rc.local
pon vpn_beeline
#!/bin/sh
PATH=/usr/sbin:/sbin:/bin:/usr/bin
# delete all existing rules.
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT
# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW ! -i ppp0 -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
# Masquerade.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Don't forward from the outside to the inside.
iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT
iptables -A FORWARD -i eth0 -o ppp0 -j REJECT
# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# Disabling SMB connections through Internet
iptables -A INPUT -i ppp0 -p tcp --dport microsoft-ds -j DROP
iptables -A INPUT -i ppp0 -p udp --dport microsoft-ds -j DROP
# SSH connect policy. Allow only 2 connections within 10 minute period
iptables -I INPUT -p tcp --dport 22 -i ppp0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i ppp0 -m state --state NEW -m recent --update --seconds 600 --hitcount 2 -j DROP
exit 0
Думал, может кеширование dnsmasq поможет. Поменял настройки:
/etc/dnsmasq.conf
listen-address=127.0.0.1
cache size=512
/etc/dhcp3/dhclient.conf
supersede domain-name "fugue.com home.vix.com";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;
/etc/resolv.conf
nameserver 127.0.0.1
nameserver 85.21.192.3
nameserver 213.234.192.8
Не заметил разницы вообще никакой.
В чём может быть дело понятия не имею. Интернет работает крайне неоднозначно. С одной стороны - намного быстрее чем раньше, с другой - может долго стопорится на каком-то сайте. В общем, что делать не знаю...