Существует локальная сеть с маршрутизатором Wifi, работающим как сервер NAT, который подключен к интернет-провайдеру. Между маршрутизатором и интернет-провайдером необходимо установить брандмауэр, который фильтрует входящий и исходящий трафик, поскольку встроенный в маршрутизатор брандмауэр слишком упрощен.
Таким образом, между маршрутизатором и интернет-провайдером была добавлена машина с двумя сетевыми адаптерами (предполагаемый межсетевой экран), на которой запущен Debian Stretch:
[Wifi router(NAT server)]- - - - -[eth1]=[firewall(NAT server)]=[ppp0]
| |
| |
| |
[local network] [ISP]
В настоящее время межсетевой экран тестируется только при пересылке пакетов между провайдером и маршрутизатором, поэтому в него было добавлено только три правила пересылки iptables:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEP
Этих правил явно недостаточно для выполнения безупречной пересылки, потому что некоторые https-адреса больше не могут открываться в браузерах в локальной сети и зависают со строкой «Perfoming TLS handshaking ...» в строке состояния.
Примечательно, что почти все основные веб-сайты, такие как Gmail, YouTube, Bing, Reddit и т. Д., Не имеют этой проблемы. Таким образом, причина этой проблемы может быть в разных версиях протокола TLS, разных классах сертификатов или другой конфигурации и т. Д.
Интерфейсы на машине брандмауэра настроены следующим образом:
$ ip link
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether <MAC_ADDRESSS>
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
link/ether <MAC_ADDRESS>
4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 3
link/ppp
$ ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether <MAC_ADDRESS>
inet 10.*.*.*/21 brd 255.255.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 ***/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether <MAC_ADDRESS>
inet 192.168.2.1/24 scope global eth1
valid_lft forever preferred_lft forever
inet6 ***/64 scope link
valid_lft forever preferred_lft forever
4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UNKNOWN group default qlen 3
link/ppp
inet 10.*.*.* peer 81.*.*.*/32 scope global ppp0
valid_lft forever preferred_lft forever
Как решить эту проблему?