Articles of iptables

只允许一个特定的端口可以同时连接一个IP地址

我有一个开放的端口,40002,我想限制在同一时间的端口只能通过一个IP地址(不具体地址)连接。 如果有一个IP地址已经连接到该端口,则其他IP将无法连接。 是可以通过iptables或脚本来configuration它? 我的系统是Ubuntu 14.04谢谢。

为什么在iptables顶部和底部有一个“任何”的规则?

希望有人能为我解决这个问题。 我在RHEL7.1,我注意到,在iptables中,我有一个规则,允许任何传入。 我运行这个命令来获取行号和接口只是为了确保: iptables –line-numbers -L -v –verbose 这是输出。 (仅限第一行) 1 30M 2931M ACCEPT all — any any anywhere anywhere state RELATED,ESTABLISHED 这是来自input链。 现在这是input链的最后一行: 42 243K 22M DROP all — any any anywhere anywhere 现在,我在input链之间也有很多规则。 但是我不明白为什么我甚至需要在最顶端的“任何”规则。 这不是打败了iptables运行的目的吗? 我在这里有一个错误configuration的防火墙吗?

端口重新路由与iptables不工作

我想重新路由所有通信从一个端口例如4445(从本地)到另一台机器在局域网的另一个端口,例如3305.我预计这应该做的交易: iptables -A PREROUTING -t nat -i eth0 -p tcp –dport 4445 -j DNAT –to 192.168.72.1:3305 我正在用目标机器听 nc -k -l 3305 并直接连接到该IP:端口工作和NC显示传输的消息。 telnet 192.168.72.1 3305 Trying 192.168.72.1… Connected to 192.168.72.1. Escape character is '^]'. test ^] 但是,只要我想利用我的iptables规则突然连接被拒绝: $>telnet localhost 4445 Trying 127.0.0.1… telnet: Unable to connect to remote host: Connection refused 我多次阅读ip转发必须被激活: $>cat /proc/sys/net/ipv4/ip_forward 1 […]

AWS EC2和OpenVPN

我已经尝试了几个小时,让OpenVPN与AWS EC2合作,没有任何运气。 它的设置与任何人都会想到的一样:在服务器上运行Openvpn以访问VPC(私有地址空间)内的资源。 我已经closures所有实例的“检查源/目标”地址,没有运气。 VPN:10.9.0.0/16 VPC:172.16.0.0/16 我可以连接到VPN罚款和平10.9.0.x罚款。 也可以在与VPN相同的盒子上ping专用地址。 这两个盒子可以相互ping(私人或公共)就好了。 这个问题与AWS有关。 我可以这样做NAT,所以它认为数据包来自私人地址空间? [root – openvpn]# tcpdump -i any -n icmp 01:15:00.571096 IP 10.9.0.6 > 172.31.88.99: ICMP echo request, id 56638, seq 16, length 64 01:15:00.571125 IP 10.9.0.1 > 10.9.0.6: ICMP host 172.31.88.99 unreachable – admin prohibited, length 92

iptables – 访问端口3306超时

我无法从远程服务器连接到mysql。 我有bind-address注释掉,但是当我在iptables中添加规则来阻止其他连接请求服务器的连接超时。 我试过这个build议 : iptables -I INPUT 1 -p tcp -s 1.2.3.4 –dport 3306 -j ACCEPT iptables -I INPUT 1 -p tcp –dport 3306 -j DROP 但我的联系仍然超时。 input这两行的顺序并不重要。 我试图连接时回显远程服务器的IP地址,这确实是我在我的iptables中使用的IP地址。 如果没有DROP行,连接就可以正常工作,就像在我的iptables中没有任何东西一样。 echo -e "target prot opt source destination\n$(iptables -L INPUT -n | grep 3306)" : target prot opt source destination ACCEPT tcp — 1.2.3.4 0.0.0.0/0 tcp […]

允许ssh使用iptables默认策略作为drop

美好的一天 我的VPS允许根据需要传入ssh连接(请参阅规则), 然而,尝试传出的SSH连接无法连接 $ ssh xyz.ddns.net ssh: connect to host xyz.ddns.net port 22: Connection timed out 我发现设置默认策略接受允许传出的SSH连接 Chain INPUT (policy DROP) ACCEPT tcp — anywhere anywhere tcp dpt:ssh /* SSH-SECURE IN (iface:ALL) */ state NEW,RELATED,ESTABLISHED 新 – 连接尚未见过。 相关 – 连接是新的,但与已经允许的另一个连接有关。 应该允许这些传出连接?

redirect端口8080到端口80 – 如何添加/ etc / sysconfig / iptables文件?

在CentOS 7 Linux上(充当LAMP–而不是“防火墙/网关”)我创build了一个自定义的systemd服务 ,以用户nobody身份在8080端口运行embedded式Jetty。 [Unit] Description=WebSocket Handler Service After=network-online.target [Service] Type=simple User=nobody Group=nobody ExecStart=/usr/bin/java -classpath '/usr/share/java/jetty/*' de.afarber.MyHandler 123.123.123.123:8080 ExecStop=/bin/kill ${MAINPID} SuccessExitStatus=143 [Install] WantedBy=multi-user.target 但是实际上我需要服务器在端口80上进行监听 – 这样即使通过企业防火墙,WebSocket的连接也能正常工作。 设置非root用户的端口80访问 Jetty文档build议运行以下命令: # iptables -t nat -I PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080 幸运的是我已经在我的专用服务器上使用了iptables-services包,当前的/etc/sysconfig/iptables文件包含: *filter :INPUT DROP :FORWARD DROP :OUTPUT ACCEPT -A INPUT -m state –state […]

iptables端口转发的UDP端口没有任何作用

我的问题: 我使用了下面的iptables命令: iptables -t nat -A PREROUTING -p udp -i eth0 –dport 52220 -j DNAT –to-destination 192.168.19.40 192.168.19.40是虚拟机的IP地址,可以ping通: root@Helium ~ # ip route get 192.168.19.40 192.168.19.40 dev untrusted-vm-br src 192.168.19.1 cache root@Helium ~ # ping 192.168.19.40 PING 192.168.19.40 (192.168.19.40) 56(84) bytes of data. 64 bytes from 192.168.19.40: icmp_seq=1 ttl=64 time=0.181 ms 但是,来自eth0的UDP数据包不会被转发: root@Helium ~ # […]

为什么iptables不能按预期工作?

我已经把这四个filter与iptables: iptables -I FORWARD -p udp -i eth0 -j DROP iptables -I FORWARD -p udp -o eth0 -j DROP iptables -I INPUT -p udp -i eth0 -j DROP iptables -I OUTPUT -p udp -o eth0 -j DROP 希望在eth0上丢掉任何udp数据包,但是当我这样做的时候: tcpdum udp -vv -i eth0 我仍然看到UDP包来去。 任何人都可以解释吗? 并告诉我如何真正在特定的接口上下载UDP包? (例如eth0 )

只接受域但丢弃IP地址访问端口80

我们的服务器IP地址:192.112.1.xxx 域:testing.com 我想要ACCEPT testing.com访问端口80和DROP服务器IP地址192.112.1.xxx来访问iptables contos 6中的端口80?