作者fashionjack (芈月)
看板Linux
标题[问题] 求救iptables无法通过TLS机制
时间Sun May 2 11:49:47 2021
新安装一台主机。
系统:Linux Debian10.8,Apache2 + php7+ MySql+ DHCP,SAMBA,VNC,SSH,perl等。
装得很辛苦,使用iptables 的NAT机制让内网联外,看来一切正常网站也OK,但是上线
後才发现某些网站内网无法连上,主要就挡在浏览器的TLS握手这关,於是发生电子邮件收
不到,Line也收不到等问题,(手机使用wifi,无线AP也是接在这台主机之後连上网路),
但是旧的主机(CentOS5)就没有这些问题,电子邮件及Line都正常,网路上找了一堆
iptables的rule,主要都是开放443port,无论INPUT或OUTPUT或INPUT,OUTPUT都开但是
都没用,连不上的仍然连不上,可是这些网站从Debian的主机是都可以连上的,只有从
内网走NAT出去的才会发生这个问题,所以才怀疑是iptables的问题,谷歌遍了仍然无解。
从旧的主机可以连上,表示不是浏览器的问题,高度怀疑Debian是否少装了甚麽。
试过nginx但装不起来,也不知是否该装,万事俱备只欠东风,请乡民高手们帮忙解惑,
感恩。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.116.198.5 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1619927391.A.8F0.html
1F:推 holishing: nginx 装不起来? 05/02 15:05
网路上好多装法,不成功就换另一种,结果都没成功,要移除又移不掉,因为有做dd,
所以将系统还原到未装前,再专攻iptables也不成,新旧主机的iptables内容完全相
同,刚才又谷歌了一回,握手失败是双方server间的问题,或许是我的系统太新对方的
太旧吧....,所以换回旧主机就OK了,我猜的。
nginx好像是让网站支援https,如果是这样就不是我要的,所以觉得还是问一下比较妥当。
※ 编辑: fashionjack (122.116.198.5 台湾), 05/02/2021 15:41:09
2F:推 holishing: nginx 不就是可以完全取代 apache 网页伺服器吗? 05/02 15:43
3F:→ holishing: 你该不会 apache 和 nginx 都想用预设的 port 开起来吧 05/02 15:43
4F:→ kenduest: 所以你全部的 iptables 规则是什麽呢 05/02 16:44
5F:→ kenduest: nat 之後若是只有某些网站连不到请参考这里改 mut 设定 05/02 16:46
7F:→ kenduest: /x4700.html 05/02 16:46
8F:→ newversion: tcpdump 看看 05/02 19:01
nginx 还是装不起来过程如下:
root@debian102:/#apt update
root@debian102:/#apt install nginx
更换媒体:请把以下名称的光碟
'Debian GNU/Linux 10.8.0 _Buster_ - Official amd64 DVD Binary-1
20210206-10:31'放入 '/media/cdrom/' 装置,然後按 [Enter] 键
..
..略
dpkg: error processing package nginx-full (--configure):
installed nginx-full package post-installation script 子进程传回了 1 错误退出
状态码
dpkg: 因相依问题,无法设定 nginx:
nginx 相依於 nginx-full (<< 1.14.2-2+deb10u3.1~) | nginx-light (<<
1.14.2-2+deb10u3.1~) | nginx-extras (<< 1.14.2-2+deb10u3.1~)﹔然而:
nginx-full 套件尚未设定。
套件 nginx-light 未安装。
套件 nginx-extras 未安装。
nginx 相依於 nginx-full (>= 1.14.2-2+deb10u3) | nginx-light (>=
1.14.2-2+deb10u3) | nginx-extras (>= 1.14.2-2+deb10u3)﹔然而:
nginx-full 套件尚未设定。
套件 nginx-light 未安装。
套件 nginx-extras 未安装。
dpkg: error processing package nginx (--configure):
相依问题 - 保留未设定
执行 man-db (2.8.5-2) 的触发程式……
执行 systemd (241-7~deb10u7) 的触发程式……
处理时发生错误:
nginx-full
nginx
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@debian102:/# apt-get remove ngixn
正在读取套件清单... 完成
正在重建相依关系
正在读取状态资料... 完成
E: 找不到套件 ngixn
不知道nginx 是取代 apache的, 那就不应该安装。
不过看说明,开放443 PORT是配合nginx环境下使用的。
不要看iptables了,新旧主机都一样的(小州写的),执行no error,若有问题不会单
发生在某一台。
最後一行是:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
问题就在新主机代理的"TLS握手"会卡关。
若没办法就只好改网路架构,开另一条路,设routing table让握手卡关的网站走这边
,这样子让新伺服器先上。
※ 编辑: fashionjack (122.116.198.5 台湾), 05/03/2021 07:06:56
9F:→ kenduest: 你可能没看懂我的回覆,若是 MTU 等问题可能引起 05/03 12:12
10F:→ kenduest: TLS 交握失败,所以必要时候要用 -j TCPMSS 调整一下 05/03 12:13
11F:→ kenduest: 比方参考: shorturl.at/tFIZ8 05/03 12:15
12F:→ kenduest: 早期常见 NAT 之後某些站台异常还包含是 ECN 的问题 05/03 12:17
13F:嘘 tomsawyer: ....你的apt的source.list是不是怪怪的 05/03 23:44
14F:嘘 LinBuoRen: 先给我把第三方软体来源通通拔掉再说 05/08 07:24
16F:→ l98: 安装流程教学,照这个安装看看吧 05/14 15:32
搞定了,iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE 之前加
下面这一行。
iptables -t nat -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS
--clamp-mss-to-pmtu
感谢 kenduest。
※ 编辑: fashionjack (122.116.198.5 台湾), 05/17/2021 20:17:17
17F:推 Bencrie: pppoe 吼 05/17 21:17