Переписал файл /etc/nat, в котором задавал правила iptables заново, упорядочив строки по цепочкам. Все заработало, хотя синтаксис не менял, только порядок строк. В конечном варианте файл /etc/nat приобрел следующий вид:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A OUTPUT -o enp0s3 -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.2.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.3.0/24 -j MASQUERADE
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -s 192.168.3.0/24 -p tcp -m conntrack --ctstate NEW -m multiport --dports 80.443 -j ACCEPT
iptables -A FORWARD -p tcp -m conntrack --ctstate NEW -m tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -m conntrack --ctstate NEW -m udp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -m conntrack --ctstate NEW -m udp --dport 67 -j ACCEPT
команда iptables-save
:
Generated by iptables-save v1.6.0 on Sun Mar 18 13:36:14 2018
*nat
:PREROUTING ACCEPT [76:10906]
:INPUT ACCEPT [1:60]
:OUTPUT ACCEPT [29:3416]
:POSTROUTING ACCEPT [13:1268]
-A POSTROUTING -s 192.168.2.0/24 -o enp0s3 -j MASQUERADE
-A POSTROUTING -s 192.168.3.0/24 -o enp0s3 -j MASQUERADE
COMMIT
# Completed on Sun Mar 18 13:36:14 2018
# Generated by iptables-save v1.6.0 on Sun Mar 18 13:36:14 2018
*filter
:INPUT DROP [107:15701]
:FORWARD DROP [0:0]
:OUTPUT DROP [16:2148]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 22 -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 -j ACCEPT
-A FORWARD -p tcp -m conntrack --ctstate NEW -m tcp --dport 53 -j ACCEPT
-A FORWARD -p udp -m conntrack --ctstate NEW -m udp --dport 53 -j ACCEPT
-A FORWARD -p udp -m conntrack --ctstate NEW -m udp --dport 67 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -o enp0s3 -j ACCEPT
-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Mar 18 13:36:14 2018
Проблема решена, но ее причины так и остались невыясненными... неужели порядок строк мог вносить ошибку?
Всем спасибо за участие.
P.S. Работу днс проверял:
ping 8.8.8.8
пинг есть
ping google.com
пинга нет. Точнее не было. После исправления файла появился.