Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
сервис_nat [2013/05/15 11:02] val |
сервис_nat [2018/10/16 13:05] val [Debian/Ubuntu (iptables)] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Сервис NAT ====== | ====== Сервис NAT ====== | ||
+ | * [[http://stackoff.ru/ip/|Определение внутреннего IP-адреса за NAT и VPN через WebRTC]] | ||
===== Трансляция на основе адреса отправителя ===== | ===== Трансляция на основе адреса отправителя ===== | ||
- | ==== Ubuntu (iptables) ==== | + | ==== Debian/Ubuntu (iptables) ==== |
=== Заполнение таблицы nat (eth1 - внешний интерфейс) === | === Заполнение таблицы nat (eth1 - внешний интерфейс) === | ||
<code> | <code> | ||
- | root@gate:~# apt-get install conntrack | + | root@gate:~# apt install conntrack |
root@gate:~# cat nat.sh | root@gate:~# cat nat.sh | ||
Строка 26: | Строка 27: | ||
root@gate:~# iptables -t nat -n -L -v --line-numbers | root@gate:~# iptables -t nat -n -L -v --line-numbers | ||
- | root@gate:~# apt-get install netstat-nat | + | root@gate:~# conntrack -L |
- | + | ||
- | root@gate:~# netstat-nat -n | + | |
</code> | </code> | ||
=== Сохранение состояния iptables === | === Сохранение состояния iptables === | ||
<code> | <code> | ||
- | root@gate:~# iptables-save -c > /etc/iptables.rules | + | root@gate:~# iptables-save > /etc/iptables.rules |
</code> | </code> | ||
=== Восстановление состояния iptables === | === Восстановление состояния iptables === | ||
<code> | <code> | ||
- | root@gate:~# iptables-restore -c < /etc/iptables.rules | + | root@gate:~# iptables-restore < /etc/iptables.rules |
</code> | </code> | ||
Строка 48: | Строка 47: | ||
auto eth1 | auto eth1 | ||
iface eth1 inet static | iface eth1 inet static | ||
- | pre-up iptables-restore -c < /etc/iptables.rules | + | pre-up iptables-restore < /etc/iptables.rules |
... | ... | ||
</code> | </code> | ||
+ | ==== CentOS (firewalld) ==== | ||
+ | |||
+ | * [[https://www.mjhall.org/centos-7-firewalld-nat-router.html|CentOS 7 firewalld NAT router]] | ||
==== FreeBSD ==== | ==== FreeBSD ==== | ||
Строка 67: | Строка 69: | ||
pf_enable=yes | pf_enable=yes | ||
</code><code> | </code><code> | ||
- | [gate:~] # /etc/rc.d/pf check | + | [gate:~] # service pf check |
- | [gate:~] # /etc/rc.d/pf start | + | [gate:~] # service pf start |
[gate:~] # pfctl -vs nat | [gate:~] # pfctl -vs nat | ||
- | |||
- | [gate:~] # pfctl -vs state | ||
- | |||
- | [gate:~] # pfctl -F states | ||
</code> | </code> | ||
Строка 99: | Строка 97: | ||
iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p tcp --dport 143 -j DNAT --to-destination 192.168.X.10:143 | iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p tcp --dport 143 -j DNAT --to-destination 192.168.X.10:143 | ||
- | #iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p udp --dport 5006 -j DNAT --to-destination 192.168.X.10:5060 | + | #iptables -t nat -A PREROUTING -p tcp -s 192.168.100+X.0/24 --dport 80 -j REDIRECT --to-port 3128 |
+ | |||
+ | #iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p udp --dport 5060 -j DNAT --to-destination 192.168.X.10:5060 | ||
+ | #iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p tcp --dport 5061 -j DNAT --to-destination 192.168.X.10:5061 | ||
#iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p udp -m multiport --dport 10000:20000 -j DNAT --to-destination 192.168.X.10 | #iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p udp -m multiport --dport 10000:20000 -j DNAT --to-destination 192.168.X.10 | ||
#iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p udp --dport 4569 -j DNAT --to-destination 192.168.X.10:4569 | #iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p udp --dport 4569 -j DNAT --to-destination 192.168.X.10:4569 | ||
Строка 107: | Строка 108: | ||
root@gate:~# sh nat.sh | root@gate:~# sh nat.sh | ||
- | root@gate:~# iptables-save -c > /etc/iptables.rules | + | root@gate:~# iptables-save > /etc/iptables.rules |
</code> | </code> | ||
Строка 117: | Строка 118: | ||
ext_if="em1" | ext_if="em1" | ||
corp_net="192.168.X/24" | corp_net="192.168.X/24" | ||
- | pppoe_corp_net="192.168.100+X/24" | + | #pppoe_corp_net="192.168.100+X/24" |
ssh_server="192.168.X.10" | ssh_server="192.168.X.10" | ||
Строка 171: | Строка 172: | ||
[gate:~] # pftop | [gate:~] # pftop | ||
- | </code> | ||
+ | [gate:~] # pfctl -F state | ||
+ | </code> | ||
===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== | ||
Строка 216: | Строка 218: | ||
ipfw -f flush | ipfw -f flush | ||
+ | ipfw add pass all from 172.16.1.254 to any | ||
ipfw add divert natd all from 172.16.1.0/24 to any via en0 | ipfw add divert natd all from 172.16.1.0/24 to any via en0 | ||
ipfw add divert natd all from 192.168.6.0/24 to any via en0 | ipfw add divert natd all from 192.168.6.0/24 to any via en0 | ||
- | ipfw add divert natd all from 192.168.5.0/24 to any via en0 | ||
ipfw add divert natd all from any to 195.19.32.14 via en0 | ipfw add divert natd all from any to 195.19.32.14 via en0 | ||
ipfw add pass all from any to any | ipfw add pass all from any to any | ||
</code> | </code> | ||
- | |||
==== nat pptp ==== | ==== nat pptp ==== | ||