假设我有一个网络,其中一台服务器将所有连接从网络内部路由到 Internet。我如何设置 iptables,而不是将传入连接路由到 Internet,而是将它们路由到本地主机端口 8080。感谢所有帮助。
要进行网站测试,如何禁用或阻止 Centos 服务器不发送电子邮件。
现在,如果我在命令行中运行
mail xxx@gmail.com
Run Code Online (Sandbox Code Playgroud)
我可以发邮件。这不利于网站测试。我不想给网站用户带来麻烦。
和iptables有关系吗?任何人都可以指路吗?
我用最小的包安装了 Centos。我认为是 qmail 完成交付工作
locate qmail
/usr/share/logwatch/scripts/services/qmail
/usr/share/logwatch/scripts/services/qmail-pop3d
/usr/share/logwatch/scripts/services/qmail-pop3ds
/usr/share/logwatch/scripts/services/qmail-send
/usr/share/logwatch/scripts/services/qmail-smtpd
Run Code Online (Sandbox Code Playgroud) 我已按照以下步骤禁用 Linux 中的防火墙。重新启动后,再次启用防火墙。如何永久禁用防火墙?
以 root 用户身份登录。
接下来输入以下三个命令来禁用防火墙。
service iptables save
service iptables stop
chkconfig iptables off
Run Code Online (Sandbox Code Playgroud)禁用 IPv6 防火墙。
service ip6tables save
service ip6tables stop
chkconfig ip6tables off
Run Code Online (Sandbox Code Playgroud)假设我现在在 IPv4 上有这个配置:
我的路由器(一个 Linux 机器)在 eth0 上连接到 Internet,在 eth1 上连接到我的 LAN。我想将端口 80 转发到 10.1.2.3。这是我目前的做法:
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to 10.1.2.3
iptables -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
现在我想在 IPv6 上做同样的事情。假设我的配置与以前相同,但有以下更改:
我的 ISP 通过前缀委托为我的路由器提供了 2001:db8:aaaa::/64 范围。我的路由器在 eth1 上为自己获取 2001:db8:aaaa::1 并将 2001:db8:aaaa::123 提供给我想要打开端口 80 的主机。
在 IPv6 情况下不再需要 NAT,所以我需要的只是允许流量的防火墙规则。这是我能想到的规则:
ip6tables -A FORWARD -i eth0 -d 2001:db8:aaaa::123 -p tcp -m tcp --dport 80 -j ACCEPT
我遇到的问题是我必须将 2001:db8:aaaa::123 硬编码到我的防火墙规则中,而 2001:db8:aaaa:: …
这是我第一次使用流量整形,我想知道如何像使用 iptables 一样列出我应用的规则?
沃尔特
我对 Linux 系统有要求,其中 Linux 设备使用 RSYNC 将数据同步到另一台 Linux 机器。目前这工作正常,但是我需要将其中一台机器移动到另一个数据中心。
是否有可能使用 iptables 配置机器,以便所有对(例如)本地地址 192.168.100.230 的调用现在实际上都发送到 Internet 上的公共地址?
我有一个专用的 Linux (Debian 7.5) 根服务器,并设置了许多来宾服务器。来宾是 KVM 实例,并通过桥接工具(NAT、内部 IP、使用主机作为网关)获得网络访问权限。
例如,一个 KVM 是我的 WebServer 来宾,它可以通过主机 IP 以这种方式访问:
iptables -t nat -I PREROUTING -p tcp -d 148.251.Y.Z
--dport 80 -j DNAT --to-destination 192.168.100.X:80
Run Code Online (Sandbox Code Playgroud)
我对其他服务也做同样的事情,让它们保持独立、NATed 和隔离。
但是一个来宾应该是网络监视器,并且应该执行网络流量检查(如 IDS)。通常,在非虚拟设置中,我会使用 VACL 或 SPAN 端口来镜像流量。当然,在这台主机中,我不能这样做(很容易,因为我不想使用复杂的虚拟交换方法)。
vnet1.vnet1作为管理接口(带有 IP)时,来宾是否需要特定的接口设置?我很高兴能指出正确的方向:
iptables 1.4.14-3.1
linux 3.2.55
bridge-utils 1.5-6
Run Code Online (Sandbox Code Playgroud)
非常感谢 :)
我在 Raspberry PI 上使用 iptables 时遇到问题。
我刚刚在我的 PI 上下载了一个新版本的 Raspbian Lite,我想做的就是检查我的 iptables 规则,但它不起作用,我收到了这个错误:>> iptables -Liptables/1.8.2 Failed to initialize nft: Protocol not supported
我不知道该怎么办?我可以回到旧版本的 iptables 之类的吗?
请记住,我是 IT 世界的真正初学者。
我的目的是通过这种方式对所有端口和协议上到达 eth0 的所有 IP 地址进行 NAT(转换):192.168.55.x -> 192.168.42.x(我启用了 ip 转发,192.168.42.0/24 子网位于 eth1 上)。我可以为每对这样的一行一台主机执行此操作,例如 x=20:
iptables -t nat -A PREROUTING -i eth0 -d 192.168.55.20 -j DNAT --to 192.168.42.20
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.42.20 -j SNAT --to 192.168.55.20
Run Code Online (Sandbox Code Playgroud)
但是我找不到一种方法来翻译所有 253 个可能的主机。我试过这个:
iptables -t nat -A PREROUTING -i eth0 -d 192.168.55.0/24 -j DNAT --to 192.168.42.0-192.168.42.255
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.42.20/24 -j SNAT --to 192.168.55.0-192-168.55.255
Run Code Online (Sandbox Code Playgroud)
这会导致随机主机转换。用于负载平衡。但是如何获得简单的一对一翻译呢?
谢谢你。
现在我能够ssh通过互联网ssh托管以及从主机到虚拟机。我想要做的是ssh从外面直接到Guest机器。
我尝试使用iptables以下方法执行此操作:
iptables -t nat -A PREROUTING -m tcp -p tcp --dport 2222 -j DNAT --to-destination 192.168.130.128:22
Run Code Online (Sandbox Code Playgroud)
并且还打开了这个相关的端口UFW:
ufw allow routed
ufw allow outgoing
ufw deny incoming
ufw allow 2222/tcp
Run Code Online (Sandbox Code Playgroud)
重新加载防火墙后,远程ssh将冻结debug1: Connecting to x.x.x.x [x.x.x.x] port 2222并使用tcpdump -i vmnet8 'port 22'我可以看到:
listening on vmnet8, link-type EN10MB (Ethernet), capture size 65535 bytes
18:56:03.002790 IP x.x.x.x.13203 > y.y.y.y.ssh: Flags [S], seq 1077492285, win 29200, options [mss …Run Code Online (Sandbox Code Playgroud)