Инструменты пользователя

Инструменты сайта


сервис_nat

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
сервис_nat [2013/05/15 11:02]
val
сервис_nat [2019/07/17 11:24] (текущий)
val [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>​
  
 ===== Трансляция портов сервисов ===== ===== Трансляция портов сервисов =====
  
-==== Ubuntu (iptables) ====+==== Debian/Ubuntu (iptables) ====
  
 <​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"​
Строка 137: Строка 138:
 rdr on $ext_if proto tcp from any to $ext_ip port 143 -> $mail_server port 143 rdr on $ext_if proto tcp from any to $ext_ip port 143 -> $mail_server port 143
  
-#rdr on $ext_if proto udp from any to $ext_ip port 5006 -> $asterisk_server port 5060+#rdr on $ext_if proto udp from any to $ext_ip port 5060 -> $asterisk_server port 5060
 #rdr on $ext_if proto udp from any to $ext_ip port 10000:20000 -> $asterisk_server port 10000:* #rdr on $ext_if proto udp from any to $ext_ip port 10000:20000 -> $asterisk_server port 10000:*
 #rdr on $ext_if proto udp from any to $ext_ip port 4569 -> $asterisk_server port 4569 #rdr on $ext_if proto udp from any to $ext_ip port 4569 -> $asterisk_server port 4569
Строка 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 ====
  
сервис_nat.1368601338.txt.gz · Последние изменения: 2013/05/22 13:50 (внешнее изменение)