linux下通过iptables只允许指定ip地址访问指定端口的设置方法

这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下。

首先,清除所有预设置

iptables -F#清除预设表filter中的所有规则链的规则
iptables -X#清除预设表filter中使用者自定链中的规则 其次,设置只允许指定ip地址访问指定端口 

其次,设置只允许指定ip地址访问指定端口

iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -d xxx.xxx.xxx.xxx -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 3306 -j ACCEPT
iptables -A OUTPUT -d xxx.xxx.xxx.xxx -p tcp --sport 3306 -j ACCEPT 

上面这两条,请注意--dport为目标端口,当数据从外部进入服务器为目标端口;反之,数据从服务器出去则为数据源端口,使用 --sport 
同理,-s是指定源地址,-d是指定目标地址。

然后,关闭所有的端口 。

iptables -P INPUT DROP 
iptables -P OUTPUT DROP 
iptables -P FORWARD DROP

最后,保存当前规则

/etc/rc.d/init.d/iptables save 
service iptables restart

这种iptables的规则设定适用于只充当MySQL服务器的管理和维护,外部地址不提供任何服务。 
如果你希望yum可以运行的话,还需要添加以下内容,允许DNS请求的53端口,允许下载随机产生的高端口。

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A INPUT -p udp --sport 53 -j ACCEPT 
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT 
iptables -A OUTPUT -p tcp --sport 10000:65535 -j ACCEPT 
/etc/rc.d/init.d/iptables save 
service iptables restart

时间: 2024-07-30 10:17:08

linux下通过iptables只允许指定ip地址访问指定端口的设置方法的相关文章

iptables只允许指定ip地址访问指定端口

首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的规则 iptables -X#清除预设表filter中使用者自定链中的规则 其次,设置只允许指定ip地址访问指定端口 iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -d xxx.xxx.xxx.xxx -p tcp --sport 22 -j ACCEPT iptables -A INPUT

在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问

补充资料 本网络中使用LINUX服务器,web服务器是由APACHE搭建,IP地址为192.168.1.5,后台页面为/admin/login.jsp . 如何设置后台页面LOGIN.JSP只允许192.168.1.10访问.而前台页面所有人都可以访问?请回答的详细点,比如在APACHE的哪个部分添加怎样的字段. 谢谢 我记得论坛有帖子说怎么设置访问权限的.搜索下.........  以下供参考,比较忙没有时间整理....... 1.修改http.conf 假设你想控制权限的目录的不同访问权限,

Linux下使用iptables

关于iptables 什么是iptables? 常见于linux系统下的应用层防火墙工具. 使用iptables的人员 系统管理人员:基于iptables的NAT的包转发,linux主机安全策略 网络工程人员:局域网网络控制或对员工上网行为的控制,机房中用来替换昂贵的网络设备 安全人员:利用iptables内核或策略做安全设置 场景 模拟用iptables控制并发的http访问 机器分配: 机器类型 IP地址 主机名 server [IP2]10.10.163.233 Jeson233 clie

linux下的iptables & ping

在linux下,要想实现禁用ping有两种方法. 方法一: echo "1″ > /proc/sys/net/ipv4/icmp_echo_ignore_all 方法二: iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -j DROP iptables -A INPUT -p icmp –icmp-type 0 -s 0/0 -j DROP iptables -A OUTPUT -p icmp –icmp-type 0 -s 192.168.29

Linux 下查看局域网内所有主机IP和MAC

用nmap对局域网扫描一遍,然后查看arp缓存表就可以知道局域内ip对应的mac了.nmap比较强大也可以直接扫描mac地址和端口.执行扫描之后就可以 cat /proc/net/arp查看arp缓存表了. 进行ping扫描,打印出对扫描做出响应的主机: $ nmap -sP 192.168.1.0/24 仅列出指定网络上的每台主机,不发送任何报文到目标主机: $ nmap -sL 192.168.1.0/24 探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS 22,23,25

iptables中规则的关系——以只允许某些IP段访问为例

最近遇到一个问题:服务器被全球的IP频繁试图通过ssh登录. 于是想到通过iptables防火墙限制访问,达到:仅允许指定ip段访问ssh服务(22端口). 关于iptables添加规则的文章有很多,而鲜有介绍规则之间的顺序.因此希望通过这篇文章介绍iptables多条规则之间是如何协同工作的. 注:作者并没有在此投入很多时间调研,因而以下仅仅是个人理解,有错误之处希望不吝指出. 假设希望仅仅允许 111.111.0.0/16 IP段ssh登录,而禁止其他所有ip登录. 最简单的命令是: ipt

Linux下用C实现域名到IP的转换(域名解析)

只需调用一个函数即可gethostbyname(),gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针.结构的声明与gethostaddr()中一致.下面是函数原型: Windows平台下 #include <winsock2.h> struct hostent FAR *PASCAL FAR gethostbyname(const char FAR * name); name:指向主机名的指针. Linux平台下 #include <ne

iptables 设置指定IP客户端访问服务器redis端口

一.需求描述:服务器172.28.18.75开放了6379redis端口,由于没有设置登录密码,所以需要防火墙设置只能指定的IP地址172.28.5.125客户端访问redis端口 二.查看172.28.18.75的防火墙规则 [[email protected]_server ~]# iptables -nvL Chain INPUT (policy DROP 2 packets, 104 bytes) pkts bytes target prot opt in out source dest

Tomcat6 只允许指定域名访问,禁用IP地址访问,防止恶意解析

2015.02.27 突然同事反应,在百度上搜索其他域名,竟然打开了和我们P2P一模一样的网站,我第一个反应是源代码被盗用了.后来发现,是域名被恶意解析了,解决方法 1.禁止IP地址访问项目  2.只允许指定的域名访问. 环境:tomcat 6 方法: 修改tomcat 6 的配置文件  tomcat/conf/server.xml,实现原理,将tomcat 缺省参数defaultHost指向一个不存在的域名上,并添加同样的虚拟目录,这样当被一个未知的域名解析过来后,访问的缺省虚拟目录,但这个目