![我的防火墙有问题,这个问题是这样的:](https://linux22.com/image/77175/%E6%88%91%E7%9A%84%E9%98%B2%E7%81%AB%E5%A2%99%E6%9C%89%E9%97%AE%E9%A2%98%EF%BC%8C%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E6%98%AF%E8%BF%99%E6%A0%B7%E7%9A%84%EF%BC%9A.png)
- 配置包过滤防火墙,允许外部的 DNS、HTTPS 访问服务器
- 使用端口 8080 从外部到服务器配置 HTTP 的 PAT
- 拒绝所有其他服务
我遇到这样的问题,给客户端 IP 地址,但不输入网关,我该怎么办?我有 1 台服务器、路由器和 Debian 客户端
答案1
两者都是通过iptables
命令完成的。
首先,默认禁用传入访问。注意:如果您已连接ssh
或类似情况,请勿在命令行中输入此内容,因为您会将自己锁定在外面。
iptables -P INPUT DROP
接下来,允许已建立的连接:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
最后,打开您想要允许访问的端口;例如,对于 HTTP:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
对其他端口重复此操作。
要获得端口转换,您需要使用该nat
表:
iptables -t nat -A prerouting -p tcp --dport 80 -j REDIRECT --to-port 8080