> Собственно, почитал вот это https://www.opennet.ru/docs/RUS/iptables/#HOWARULEISBUILT
> и много другого, но толком ничего не понял.
> Стоит задача:
> 1)настроить шлюз на debian
> 2)настроить проброс портов для всяких внешних приложений
> 3)настроить маршрутизацию внутри сети (если это нужно, потому как я не догоняю,
> как шлюз будет и будет ли вообще (все компы и точки
> доступа в локале подключены через тупой свитч) пересылать пакеты от
> одного локального клиента другому локальному клиенту)в таблице маршрутизации есть маршрут для локальной подсети согласно которому клиенты будут обмениваться пакетами на прямую, даже если прописан шлюз
>[оверквотинг удален]
> только готовые правила отсюда http://howitmake.ru/blog/ubuntu/86.html
> раскомментил строку net.ipv4.ip_forward=1 в файле /etc/sysctl.conf
> iptables -F
> iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
> iptables -A FORWARD -i eth0 -o eth0 -j REJECT
> iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
> с этими настройками интернет заработал на одном ноутбуке подключенном через точку доступа->свитч->шлюз,
> кучу других в интернет не пустило, большинство подключены к свитчу
> настройки iptables загружаю через строку в /etc/network/interfaces # iptables-restore
> > /etc/iptables-save
это не загрузка ,а перенаправление вывода iptables-restore в файл /etc/iptables-save
> есть примерные наборы правил, но в каком порядке их писать и
> будут ли они работать как надо, и где ошибка, не могу
> сейчас разобраться
> подскажите, пожалуйста, какие правила написаны не правильно, и где бы почитать мануал
> попроще чем по ссылке в начале
там и так просто и понятно для понимающих как работает сеть, после первого прочтения может получится каша в голове, но как только начинаете сами писать правила все проясняется.
> # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
> это правило подменяет адрес пакетам из локальной сети?
да
> для обратных пакетов нужно ли что либо еще?
автоматом, в мануале сказано
> #iptables -A FORWARD -i eth0 -o eth0 -j REJECT
> это правило для маршрутизации пакетов в локалке, без интернета?
блокирует с уведомлением пакеты которые пришли и должны были уйти через eth0
> # iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
> вот это правило вообще не понимаю
при проблемах с mtu, если проблем нет то не нужно его вставлять, ну и логичней было бы -A, а не -I
> хочу добавить проброс портов правилом
> iptables -t nat -A PREROUTING -d "внешний ip" -p tcp -m tcp
> --dport "внешний порт" -j DNAT --to-destination "локальный компьютер":"внутренний порт"
> заработает ли оно и куда ставить все эти пробросы портов?
да если в таблице фильтров разрешено прохождение для этих пакетов и для ответов
> # правила для прокси, вроде бы перенаправляют, раз один компьютер сайты открывал
> iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j
> DNAT --to "ipпрокси_и_шлюза":3128
да
> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
> REDIRECT --to-port 3128
заварачивать на прокси то что пришло с инета опасно
> будет ли их достаточно для открывания страничек в том числе по https?
https будет идти через MASQUERADE
> #для ssh, достаточно ли этого правила для подключения с обеих сторон от
> шлюза?
> iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
есть политики по умолчанию, если они в ACCEPT, то не имеет значения, а так да разрешит обращения через все сетевые интерфейсы
> я понимаю, что никто не обязан мне помогать или что нибудь объяснять,
> буду благодарен за любую помощь, ссылки, объяснения, критику и прочее.