linux – NAT后关闭源IP

linux – NAT后关闭源IP,第1张

概述直到今天我使用了一个便宜的路由器,所以我可以分享我的互联网连接并保持网络服务器在线,同时使用NAT.用户IP($_SERVER [‘REMOTE_ADDR’])很好,我看到用户的A类IP. 但随着流量每天都在增长,我不得不安装Linux服务器(Debian)来共享我的Internet连接,因为我的旧路由器无法再保持流量. 我通过IPTABLES使用NAT共享互联网,但是现在,在将端口80转发到我的 直到今天我使用了一个便宜的路由器,所以我可以分享我的互联网连接并保持网络服务器在线,同时使用NAT.用户IP($_SERVER [‘REMOTE_ADDR’])很好,我看到用户的A类IP.

但随着流量每天都在增长,我不得不安装Linux服务器(Debian)来共享我的Internet连接,因为我的旧路由器无法再保持流量.
我通过IPtableS使用NAT共享互联网,但是现在,在将端口80转发到我的网络服务器之后,现在我没有看到真正的用户IP,而是将我的网关IP(linux内部IP)视为任何用户IP地址.

如何解决这个问题?

我编辑了我的帖子,所以我可以粘贴我目前正在使用的规则.

#!/bin/sh#I made a script to set the rules#I flush everything here.iptables --flushiptables --table nat --flushiptables --delete-chainiptables --table nat --delete-chainiptables -Fiptables -X# I drop everything as a general rule,but this is Disabled under testing# iptables -P input DROP# iptables -P OUTPUT DROP# these are the loopback rulesiptables -A input -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT# here I set the SSH port rules,so I can connect to my serveriptables -A input -p tcp --sport 513:65535 --dport 22 -m state --state NEW,ESTABliSHED     -j ACCEPTiptables -A OUTPUT -p tcp --sport 22 --dport 513:65535 -m state --state ESTABliSHED -j ACCEPT# These are the forwards for 80 portiptables -t nat -A PREROUTING -p tcp -s 0/0 -d xx.xx.xx.xx --dport 80 -j DNAT --to     192.168.42.3:80iptables -t nat -A POSTROUTING -o eth0 -d xx.xx.xx.xx -j SNAT --to-source 192.168.42.3iptables -A FORWARD -p tcp -s 192.168.42.3 --sport 80 -j ACCEPT# These are the forwards for bind/dnsiptables -t nat -A PREROUTING -p udp -s 0/0 -d xx.xx.xx.xx --dport 53 -j DNAT --to 192.168.42.3:53iptables -t nat -A POSTROUTING -o eth0 -d xx.xx.xx.xx -j SNAT --to-source 192.168.42.3iptables -A FORWARD -p udp -s 192.168.42.3 --sport 53 -j ACCEPT# And these are the rules so I can share my internet connectioniptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEiptables -A FORWARD -i eth0:1 -j ACCEPT

如果我删除MASQUERADE部分,我会看到我的真实IP,同时用PHP回应它,但我没有互联网.怎么做,有网络,看到我的真实IP,而端口也被转发?

** xx.xx.xx.xx – 是我的公共IP.我出于安全原因隐藏了它.

解决方法 解决了我自己的谜团,但感谢那些直到现在帮助过的人.
研究了一下iptables手册页,并找到了一个似乎按照我的意愿工作的解决方案:

用以下行替换包含MASQUERADE(iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE)的行:

iptables -t nat -A POSTROUTING -s 192.168.42.0/24 -o eth0 -j SNAT --to-source XX.XX.XX.XX

现在我可以看到我的真实IP地址,也有互联网.

* XX.XX.XX.XX =公共IP

总结

以上是内存溢出为你收集整理的linux – NAT后关闭源IP全部内容,希望文章能够帮你解决linux – NAT后关闭源IP所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/1035748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存