Iptables: маскировка и маршрутизация

Iptables: маскировка и маршрутизация

У меня есть маршрутизатор WAN, который подключен к интернет-провайдеру через /30подсеть WAN. Но он также служит маршрутизатором для /29локальной публичной подсети WAN, которая подключена к нескольким моим серверам. Трафик из нее /29направляется к интернет-провайдеру через /30подсеть. По причине проводной связи я хочу замаскировать (NAT) интерфейс, у которого есть /30IP. Таким образом, интерфейс с /30IP должен отображаться как замаскированный для моей 192.168.1.0/24сети, и он также должен действовать как обычный маршрутизатор без NAT для моей публичной подсети WAN /29. Можно ли это сделать с помощью iptables на машине Linux?

ПРАВКА1: Какие правила моего брандмауэра сейчас:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#WAN Security
iptables -A INPUT -d 1.2.3.3 -m state --state INVALID -j DROP
iptables -A INPUT -d 1.2.3.3 -m state --state ESTABLISHED,RELATED -j ACCEPT

#NAT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.2.3.3

#FORWARD
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT


iptables -A INPUT -d 1.2.3.3 -j DROP

решение1

Да, это будет работать просто отлично. Настройте фильтрацию пакетов и маршрутизацию так же, как если бы вы вообще не использовали NAT, а затем добавьте что-то вроде:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.2.3.3

(Предполагается, что ваш интернет-провайдер подключен к eth0, а ваш публичный IP-адрес — 1.2.3.3.)

Это позволит применить NAT только к пакетам, поступающим из вашей локальной сети с частными IP-адресами.

Связанный контент