标签: iptables

如何在充当路由器的机器上管理 Linux iptables 配置?

我有几台 Linux 机器充当我的网络的路由器/防火墙,我有一个脚本可以运行所有 iptables 命令来设置我的规则。不过,在我看来,这似乎是一种非常愚蠢的方法。

你怎么做到这一点?是否有带有配置文件的程序更易于管理?它有 GUI 或 Web 界面吗?

linux router iptables gateway

8
推荐指数
1
解决办法
4531
查看次数

在 EC2 上阻止 IP。防火墙或其他选项?

我的基于 EC2 (Fedora AMI) 的服务受到流氓错误配置客户端的严重打击。我有什么选项可以阻止这个流氓客户端的 IP?

linux firewall iptables amazon-ec2

8
推荐指数
1
解决办法
3543
查看次数

iptables 规则多久生效?

iptables 规则多久生效?

我使用带有以下代码的脚本试图阻止主机,但它们似乎没有立即采取。是否有一些延迟,是 iptables 不起作用还是代码完全错误?

#!/bin/sh
echo $1 >> /etc/dropped_hosts
iptables -A INPUT -s $1 -j DROP
iptables -A OUTPUT -d $1 -j DROP
Run Code Online (Sandbox Code Playgroud)

bandwidth firewall iptables

8
推荐指数
2
解决办法
3万
查看次数

iptables:阻止除某些 IP 地址以外的出站流量

使用 iptables,我需要阻止服务器上的所有出站流量,除了:

  • SSH 访问少量 IP 地址
  • HTTPS 访问相同的小 IP 地址列表

谁能告诉我一套合适的规则?

谢谢你。

security linux firewall iptables

8
推荐指数
2
解决办法
2万
查看次数

将进程或用户绑定到特定 IP (Linux)

我的服务器上有 3 个非 root 用户,我想为他们每个人提供不同的 IP 地址(我在一个网络接口上有多个 IP)。例如,user1 将有 192.168.1.2,user2 - 192.168.1.3 等等。或者,如果不可能,我如何将特定进程绑定到给定的 IP 地址(我建议,可以使用 iptables,但是如何?)。谢谢。

linux debian ip iptables

8
推荐指数
1
解决办法
5809
查看次数

尽管以其他方式列出,防火墙仍然阻止端口 53?

我有 3 个节点,其 iptables 规则几乎与从 bash 脚本加载的规则相同,但一个特定节点尽管列出它正在接受端口 53 上的流量,但仍阻止了它:

$ iptables --list -v

Chain INPUT(policy DROP 8886个数据包,657K字节)
 pkts 字节目标 prot 选择退出源目标         
    0 0 ACCEPT all -- 任何地方的任何地方            
    2 122 ACCEPT icmp -- 任何地方的任何地方 icmp echo-r​​equest 
20738 5600K 全部接受——任何任何地方状态相关,已建立 
    0 0 接受 tcp -- eth1 任何地方 node1.com 多端口 dports http,smtp 
    0 0 接受 udp -- eth1 任何地方 ns.node1.com udp dpt:domain 
    0 0 接受 tcp -- eth1 任何地方 ns.node1.com tcp dpt:domain 
    0 0 ACCEPT all -- eth0 any node2.backend 任何地方            
   21 1260 …

domain-name-system firewall iptables

8
推荐指数
1
解决办法
4069
查看次数

反向SSH隧道

我正在尝试将 Web 流量从远程服务器转发到我的本地计算机,以测试一些 API 集成(tropo、paypal 等)。基本上,我正在尝试设置类似于 tunnlr.com 提供的内容。

我已经使用命令启动了 ssh 隧道

$ssh –nNT –R :7777:localhost:5000 user@server

然后我可以看到服务器现在正在侦听端口 7777

user@server:$netstat -ant | grep 7777

tcp        0      0 127.0.0.1:7777          0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:7777                :::*                    LISTEN  


$user@server:curl localhost:7777
Hello from local machine
Run Code Online (Sandbox Code Playgroud)

所以这很好用。curl 请求实际上是从本地机器提供的。

现在,我如何启用 server.com:8888 以通过该隧道路由?

我试过像这样使用 nginx:

upstream tunnel {
    server 0.0.0.0:7777;
}
server {
  listen 8888;
  server_name server.com;
  location / {
    access_log /var/log/nginx/tunnel-access.log;
    error_log /var/log/nginx/tunnel-error.log;
    proxy_pass http://tunnel;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_redirect off; …
Run Code Online (Sandbox Code Playgroud)

ssh nginx tunneling iptables ssh-tunnel

8
推荐指数
1
解决办法
1万
查看次数

是否可以使用 iptables 复制 UDP 单播流?

我有一个专有系统,它将 udp 视频流从单元 #1 (192.168.1.1) 传输到单元 #2 (.1.2)。我无法对这个系统进行更改,我正在尝试克隆这个 udp 流,以便我可以在不同的程序中访问它。该程序将对视频进行处理并将其作为多播流再次发送出去。

我希望使用带有三个网卡的 Linux 机器(现在运行 Ubuntu Server 12.04)来做到这一点。通过将单元 #1 和 #2 连接到 Linux 机器中的两个网卡(eth0 和 eth1)并使用网桥,我让它们进行了通信。我的 /etc/network/interfaces 看起来像:

# The loopback network interface
auto lo
iface lo inet loopback

# The external interface
auto eth3
iface eth3 inet static
address 192.168.10.2
netmask 255.255.255.0

# The bridge interface
auto br0
iface br0 inet manual
  bridge_ports eth0 eth1
Run Code Online (Sandbox Code Playgroud)

这是有效的,并且通过使用 tcpdump 我已经确认 udp 数据包是从 #1 到达并在端口 6000 处朝向 #2。

我希望的下一步是使用 iptables 来克隆所有来自 192.168.1.1 的 udp …

iptables udp video-streaming

8
推荐指数
1
解决办法
6537
查看次数

Centos iptables 开放53端口

我在 Centos 机器上打开端口 53 时遇到问题,用于 DNS 配置。

这是我的 iptables 配置

-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

当我对机器运行 nmap 扫描时,只有端口 80 显示为打开状态。我错过了什么吗?

编辑:

完整的iptable

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -p udp -m state --state NEW,ESTABLISHED -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --state …
Run Code Online (Sandbox Code Playgroud)

firewall iptables centos

8
推荐指数
2
解决办法
4万
查看次数

monit:无法连接到http接口

我正在一个新站点上设置 monit,在此问题中我将其称为 mywebsite.com。我已经设置了访问 monit 的 Web 界面页面的配置,但我无法连接到它。我有一个运行 iptables 的基本防火墙,我想我为 monit 开了一个洞,但我无法连接到 monit 的 Web 界面,我不知道为什么。

我还没有设置任何要监控的东西:我的 monit 配置如下所示:

## Start monit in the background (run as a daemon):
set daemon  120           # check services at 2-minute intervals

set httpd port 2812 and
  use address mywebsite.com  
  allow localhost      
  allow admin:password
Run Code Online (Sandbox Code Playgroud)

我已经用这些规则重新启动了 monit。

我在我的 iptables 配置中为 monit 制定了一条规则,如下所示:

#monit interface
-A OUTPUT -p tcp --dport 2812 -j ACCEPT
-A INPUT -p tcp --dport 2812 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

然后我将这些规则导入到/sbin/iptables-restore. 当我这样做时,我可以看到 monit 条目 …

linux http iptables monit

8
推荐指数
1
解决办法
2万
查看次数