Iptables к инету одной машины из сети

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Shamcor
Сообщения: 25
ОС: Debian

Iptables к инету одной машины из сети

Сообщение Shamcor »

Есть сеть порядка 20 машин, и нужно пустить в инет только 1 машину: 192.168.1.20
Server:
eth0: 192.168.1.4
ppp0: xxx.xxx.xxx.xxx

Dark:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Выполняю: iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE и в инет выходят все если указать сервер шлюзом.
Можно ли как-то модерницирывать правило чтоб пустить только одну 192.168.1.20? Или для этого чучше прокси?
Спасибо сказали:
Аватара пользователя
Shamcor
Сообщения: 25
ОС: Debian

Re: Iptables к инету одной машины из сети

Сообщение Shamcor »

Может помочь или нет?

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -A INPUT -i ppp0 --source 192.168.1.20 --match state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 --destination 192.168.1.20 --match state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 --source 192.168.1.20 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 --destination 192.168.1.20 --match state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 --source 192.168.1.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 --destination 192.168.1.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 --source 192.168.1.0/24 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Iptables к инету одной машины из сети

Сообщение pelmen »

Два варианта на выбор:
1. маскарадить только пакеты от этого хоста:
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.20 -o ppp0 -j MASQUERADE
2. форварднуть только пакеты от этого хоста
iptables -P FORWARD DROP
iptables -A FORWARD -p tcp -s 192.168.1.20 -o ppp0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Можно даже одновременно их оба использовать для уверенности.
Спасибо сказали: