全球主机交流论坛

标题: iptables的SNAT转发无效?---搞了两天,实在没办法,求MJJ赐教 [打印本页]

作者: adink    时间: 2020-5-20 18:48
标题: iptables的SNAT转发无效?---搞了两天,实在没办法,求MJJ赐教
本帖最后由 adink 于 2020-5-20 18:57 编辑

在套路云内网VPC开通了SNAT转发功能,使服务器在无公网下通过其他有公网的服务器实现共享上网功能。

目前生效的iptables规则






那么问题来了,DNAT是正常的,也就是外网可以正常访问内网。但是SNAT规则无效,也就是内网无法访问外网,可以ping通,但不能访问。



规则里所用到的全部是内网IP地址。

是不是我哪里设置出问题了,有没有大佬帮我看下。

DNS是套路云默认的,VPC的路由里也设置了下一跳到有公网服务器。

服务器系统是Debian 9

作者: Swag    时间: 2020-5-20 18:52
v4 v6 转发开了吗?
作者: adink    时间: 2020-5-20 18:53
Swag 发表于 2020-5-20 18:52
v4 v6 转发开了吗?

net.ipv4.ip_forward=1  已开,因为DNAT是正常的
作者: lxgndz    时间: 2020-5-20 19:23
更新一下系统。
作者: proc    时间: 2020-5-20 19:26
http://linux.vbird.org/linux_server/0250simple_firewall.php#nat_ip_share
作者: h20    时间: 2020-5-20 19:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: dunce    时间: 2020-5-20 19:48
配置没啥问题呀,DNAT的转发的是范围端口吗,看着感觉范围还不小,最好加个-s ! 把内网IP排除
作者: adink    时间: 2020-5-20 21:09
h20 发表于 2020-5-20 19:27
SNAT要搭配MASQ表

MASQUERADE吗?
这个只是伪装,我测试过,还是老样子。
作者: adink    时间: 2020-5-20 21:10
dunce 发表于 2020-5-20 19:48
配置没啥问题呀,DNAT的转发的是范围端口吗,看着感觉范围还不小,最好加个-s ! 把内网IP排除 ...

内网IP有什么安全隐患吗?
作者: adink    时间: 2020-5-20 21:12
proc 发表于 2020-5-20 19:26
http://linux.vbird.org/linux_server/0250simple_firewall.php#nat_ip_share

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.210

和我的规则一样啊
作者: jhu    时间: 2020-5-20 21:17
我一般是用
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
看看有没有可能是tcp mss的设置问题,把tcp mss设小一点,或者设成pmtu
作者: Clever    时间: 2020-5-20 21:24
用脚本啊,自己配置容易出问题 脚本就输入输入IP就完事了。
作者: dunce    时间: 2020-5-20 21:32
adink 发表于 2020-5-20 21:10
内网IP有什么安全隐患吗?

你暂时把第一条规则删掉试试,数据包回来的时候可能被DNAT到别的端口了
作者: 园丁    时间: 2020-5-20 21:34
  1. curl -vv https://www.baidu.com
复制代码

看看是啥
作者: adink    时间: 2020-5-20 21:56
园丁 发表于 2020-5-20 21:34
看看是啥


作者: 园丁    时间: 2020-5-20 22:04
adink 发表于 2020-5-20 21:56

换个DNS,获取的ip好像有问题

作者: hkwu    时间: 2020-5-20 22:09
本帖最后由 hkwu 于 2020-5-20 10:10 编辑
adink 发表于 2020-5-20 09:09
MASQUERADE吗?
这个只是伪装,我测试过,还是老样子。


都是固定 ip 哪有这种问题。
阿里云 有两个 “防火墙”
一个就是阿里云 web 控制台界面的 防火墙 和 路由 管理
另一个就是对应主机的防火墙设置(这个需要ssh登录或者 vnc 操作)

其实 TCP 可以省掉 SNAT
作者: adink    时间: 2020-5-20 22:14
本帖最后由 adink 于 2020-5-20 22:15 编辑
hkwu 发表于 2020-5-20 22:09
都是固定 ip 哪有这种问题。
阿里云 有两个 “防火墙”
一个就是阿里云 web 控制台界面的 防火墙 和 路 ...

web 控制台界面的 防火墙 和 路由 管理
是指他的安全组的VPC专有网络的路由吗?这两个我都设置过了。

另一个就是对应主机的防火墙设置
这个是系统里的吧?我DD了萌大的系统,应该不存在这个问题吧。

其实 TCP 可以省掉 SNAT
应该怎么设置啊,要被搞疯了
作者: adink    时间: 2020-5-20 22:16
dunce 发表于 2020-5-20 21:32
你暂时把第一条规则删掉试试,数据包回来的时候可能被DNAT到别的端口了

应用到生产环境当中了,我试试直接SNAT试试,不用DNAT
作者: adink    时间: 2020-5-20 22:17
园丁 发表于 2020-5-20 22:04
换个DNS,获取的ip好像有问题

有公网的那台机器吗?他自己本身上网没有问题啊,需要中转的主机的话,我试过8.8.8.8一样无效
作者: 园丁    时间: 2020-5-20 22:42
adink 发表于 2020-5-20 22:17
有公网的那台机器吗?他自己本身上网没有问题啊,需要中转的主机的话,我试过8.8.8.8一样无效 ...

还有可能就是被劫持了,你对比一下好的机器和中转机器的,如果有差异建议2个机器之间上个扶墙在搞
你看下正常的应该是这样的
  1. *   Trying 103.235.46.39:443...
  2. * Connected to www.baidu.com (103.235.46.39) port 443 (#0)
  3. * ALPN, offering h2
  4. * ALPN, offering http/1.1
  5. * successfully set certificate verify locations:
  6. *   CAfile: /etc/ssl/certs/ca-certificates.crt
  7.   CApath: none
  8. * TLSv1.3 (OUT), TLS handshake, Client hello (1):
  9. * TLSv1.3 (IN), TLS handshake, Server hello (2):
  10. * TLSv1.2 (IN), TLS handshake, Certificate (11):
  11. * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
  12. * TLSv1.2 (IN), TLS handshake, Server finished (14):
  13. * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
  14. * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
  15. * TLSv1.2 (OUT), TLS handshake, Finished (20):
  16. * TLSv1.2 (IN), TLS handshake, Finished (20):
  17. * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
  18. * ALPN, server accepted to use http/1.1
  19. * Server certificate:
  20. *  subject: C=CN; ST=beijing; L=beijing; OU=service operation department; O=Beijing Baidu Netcom Science Technology Co., Ltd; CN=baidu.com
  21. *  start date: May  9 01:22:02 2019 GMT
  22. *  expire date: Jun 25 05:31:02 2020 GMT
  23. *  subjectAltName: host "www.baidu.com" matched cert's "*.baidu.com"
  24. *  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Organization Validation CA - SHA256 - G2
复制代码

作者: adink    时间: 2020-5-20 22:49
园丁 发表于 2020-5-20 22:42
还有可能就是被劫持了,你对比一下好的机器和中转机器的,如果有差异建议2个机器之间上个扶墙在搞
你看下 ...

NONONO
套路云同个机房的机器,应该还是SNAT规则问题,或者套路云在路由上动了手脚,或者我DNAT规则有问题,头大
作者: 园丁    时间: 2020-5-20 22:51
adink 发表于 2020-5-20 22:49
NONONO
套路云同个机房的机器,应该还是SNAT规则问题,或者套路云在路由上动了手脚,或者我DNAT规则有问 ...
  1. www.97soo.com
复制代码
这是你的网站?如果是的话应该是你的设置问题
作者: adink    时间: 2020-5-20 22:52
园丁 发表于 2020-5-20 22:51
这是你的网站?如果是的话应该是你的设置问题

能看出来哪里设置问题吗?
作者: 园丁    时间: 2020-5-20 23:24
adink 发表于 2020-5-20 22:52
能看出来哪里设置问题吗?

不清楚你环境。目前看来你的不能上网机器最后访问的数据都是自己的样子
你看下不能上网的机器上是不是也有iptables规则,有的话清了
DNAT要写明目标地址,就是的能上外网的ip, 端口也独立出来,80 443,那就分2条规则。
作者: adink    时间: 2020-5-21 00:07
园丁 发表于 2020-5-20 23:24
不清楚你环境。目前看来你的不能上网机器最后访问的数据都是自己的样子
你看下不能上网的机器上是不是也 ...

感谢,已解决
作者: hkwu    时间: 2020-5-21 00:36
adink 发表于 2020-5-20 12:07
感谢,已解决

看这故事,这是被自己坑了?
不打算吧这故事来个结尾??:
作者: adink    时间: 2020-5-24 11:17
hkwu 发表于 2020-5-21 00:36
看这故事,这是被自己坑了?
不打算吧这故事来个结尾??:

哈哈哈哈,是的,被自己坑了,加上-d和IP就行了,应该是返回被拦截了




欢迎光临 全球主机交流论坛 (https://sunk.eu.org/) Powered by Discuz! X3.4