Есть сеть порядка 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? Или для этого чучше прокси?
Iptables к инету одной машины из сети
Модераторы: SLEDopit, Модераторы разделов
-
Shamcor
- Сообщения: 25
- ОС: Debian
Re: Iptables к инету одной машины из сети
Может помочь или нет?
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
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 к инету одной машины из сети
Два варианта на выбор:
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
Можно даже одновременно их оба использовать для уверенности.
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
Можно даже одновременно их оба использовать для уверенности.