首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iptables:传出流量被重定向到本地端口

iptables:传出流量被重定向到本地端口
EN

Server Fault用户
提问于 2018-02-01 17:11:39
回答 1查看 61关注 0票数 1

我在我的debian机器上使用了以下iptables脚本:

代码语言:javascript
复制
#!/bin/sh


IPT="/sbin/iptables"

# Flush old rules, old custom tables
$IPT --flush
$IPT --delete-chain

# Set default policies for all three default chains
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT

# Enable free use of loopback interfaces
$IPT -A INPUT -i lo -j ACCEPT
# All TCP sessions should begin with SYN
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -s 0.0.0.0/0 -j DROP

# Accept inbound TCP packets
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT

# Accept inbound ICMP messages
$IPT -A INPUT -p ICMP --icmp-type 8 -s 0.0.0.0/0 -j ACCEPT

#VM Windows
$IPT -A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
$IPT -A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
$IPT -A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
$IPT -A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
$IPT -A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
$IPT -A FORWARD -i virbr0 -o virbr0 -j ACCEPT
$IPT -A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
$IPT -A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
$IPT -I FORWARD -o virbr0 -d  192.168.122.178 -j ACCEPT
$IPT -I FORWARD -o virbr0 -d  192.168.122.160 -j ACCEPT
$IPT -I FORWARD -o virbr0 -d  192.168.122.105 -j ACCEPT
$IPT -t nat -I PREROUTING -p tcp --dport 25300 -j DNAT --to 192.168.122.178:25300
$IPT -t nat -I PREROUTING -p tcp --dport 2222 -j DNAT --to 192.168.122.160:22
$IPT -t nat -I PREROUTING -p tcp --dport 26300 -j DNAT --to 192.168.122.105:26300
$IPT -t nat -A POSTROUTING -o virbr0 -j MASQUERADE
$IPT -A FORWARD -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -i virbr0 -o eth0 -j ACCEPT
$IPT -A FORWARD -i virbr0 -o lo -j ACCEPT

我有3台虚拟机,用kvm虚拟化。不知怎么的,我成功地完成了我的iptables脚本。每次我试图连接到端口80/443上的任何东西时,流量都会被重定向到本地机器。我必须知道这一点,因为其中一个VM是Windows,此时我运行了IIS。我试图访问的每个网站都重定向到本地运行的IIS。奇怪的是,它似乎只是重定向80/443端口上的传出流量。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-02-01 17:54:53

编辑:如果您使用的是libvirt,您应该首先使用这些管理机制,而不是这个答案。

你应该尝试几件事来使你的NAT规则更受限制。

我的第一个猜测是,您的POSTROUTING规则只应该是您的内部地址。

代码语言:javascript
复制
$IPT -t nat -A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -o virbr0 -j MASQUERADE

此外,您还应该进一步限制您的预出规则,以避免反弹您的内部流量,例如。

代码语言:javascript
复制
$IPT -t nat -I PREROUTING ! -s 192.168.122.0/24 -i virbr0 -p tcp --dport 25300 -j DNAT --to 192.168.122.178:25300
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/895220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档