Система 12.04.3. В железке (компьютер - неттоп) есть встроенный wifi-модуль.
Настраивал интерфейсы по мануалу
программная точка доступа.
Изначально неттоп был подключен к роутеру, и все заработало как нужно, ip неттоп получал от роутера (динамически). Затем роутер из цепочки был извлечен и на неттопе настроена локальная сеть со статическим локальным ip (vpn отдает динамический ip), поднял pptp соединение. И все, после запуска iptable, нет вообще никакого интернета ни на самом неттопе, ни на подключенной по wi-fi машине.
Какие тесты проводил.
1. Маршрутизацию (iptable) не запускаю, подключаюсь к неттопу по wifi (vpn-соединение запущено и функционирует) -> С нетопа все открывается и работает, с ноутбука (по wifi) ничего не пингуется и не работает.
2. Запускаю файлик iptable -> с ноутом (по wifi) все тоже самое нет ни интернета, ни пингов хоть куда.
Подключение к неттопу есть, по ssh я могу на него зайти.
Понимаю, что надо каким-то образом указывать в маршрутизации, что теперь у меня есть ppp0 интерфейс и с ним надо как-то взаимодействовать. Но как это сделать я не понимаю.
Для удобства выложу iptable тут
#! /bin/sh
#
#######################
# Настройка интерфейсов
#######################
# Internet (Поменяйте на ваш интернет-интерфейс)
Inet_Interface="eth0"
# Lan (поменяйте на ваш интерфейс сетевого моста)
Lan_Interface="br0"
# Lo (локальный интефейс - петля)
Lo_Interface="lo"
# Описываем путь до iptables
IPT="/sbin/iptables"
# Очищаем текущие правила (если вдруг есть какие-то правила)
$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
# Создаем цепочку для обработки неправильных пакетов.
# bad_packets
$IPT -N bad_packets
$IPT -A bad_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset
$IPT -A bad_packets -p tcp ! --syn -m state --state NEW \
-j LOG --log-prefix "New not syn:"
$IPT -A bad_packets -p tcp ! --syn -m state --state NEW -j DROP
# Создаем цепочку для обработки входящих (из интернета) tcp соединений.
# tcp_p
$IPT -N tcp_p
# Чтобы, например, разрешить подключаться к нашему шлюзу из интернета по ssh:
##ssh="22"
##ssh_ip_allowed="0/0"
##$IPT -A tcp_p -p tcp -s $ssh_ip_allowed --dport $ssh -j ACCEPT
$IPT -A tcp_p -p tcp -s 0/0 -j DROP
# Создаем цепочку для обработки входящих (из интернета) udp соединений.
# udp_p
$IPT -N udp_p
$IPT -A udp_p -p udp -s 0/0 -j DROP
# Создаем цепочку для обработки входящих (из интернета) icmp соединений.
# icmp_p
$IPT -N icmp_p
# Разрешаем "пинговать" наш шлюз из интернета:
$IPT -A icmp_p -p icmp -s 0/0 --icmp-type 8 -j ACCEPT
$IPT -A icmp_p -p icmp -s 0/0 --icmp-type 11 -j ACCEPT
$IPT -A icmp_p -p icmp -s 0/0 -j DROP
# Цепочка INPUT
$IPT -A INPUT -p tcp -j bad_packets
$IPT -A INPUT -p all -i $Lan_Interface -j ACCEPT
$IPT -A INPUT -p all -i $Lo_Interface -j ACCEPT
$IPT -A INPUT -p all -i $Inet_Interface -m state --state \
ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp -i $Inet_Interface -j tcp_p
$IPT -A INPUT -p udp -i $Inet_Interface -j udp_p
$IPT -A INPUT -p icmp -i $Inet_Interface -j icmp_p
# Цепочка FORWARD
$IPT -A FORWARD -p tcp -j bad_packets
$IPT -A FORWARD -p all -i $Lan_Interface -j ACCEPT
$IPT -A FORWARD -p all -i $Lo_Interface -j ACCEPT
$IPT -A FORWARD -p all -i $Inet_Interface -m state \
--state ESTABLISHED,RELATED -j ACCEPT
# Цепочка OUTPUT
$IPT -A OUTPUT -p tcp -j bad_packets
$IPT -A OUTPUT -p all -o $Inet_Interface -j ACCEPT
$IPT -A OUTPUT -p all -o $Lan_Interface -j ACCEPT
$IPT -A OUTPUT -p all -o $Lo_Interface -j ACCEPT
# Цепочка POSTROUTING (таблица nat)
$IPT -t nat -A POSTROUTING -o $Inet_Interface -j MASQUERADE
# Включаем перенаправление ipv4.
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "Firewall started"
exit 0