iptables实操
案例1:只允许22端口可以访问,其他端口全部无法访问
1.只允许22端口可以访问,其他端口全部无法访问
# -t filter(指定表) -A INPUT(追加一条到链中) -p TCP(指定协议) --dport 22(指定端口)
# -j ACCEPT(转发动作(进行完此动作就不再操作其他规则,跳往下一个规则链))
iptables -t filter -A INPUT -p TCP --dport 22 -j ACCEPT
# ... -j DROP(转发动作(对数据包不做处理,进行完此处理动作后,将不再对其他规则做操作,并中断过滤程序))
iptables -t filter -A INPUT -p TCP -j DROP
案例2:只允许22,80,443端口可以访问,其他端口全部无法访问。
iptables -t filter -A INPUT -p TCP --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p TCP --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p TCP --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p TCP -j DROP
案例3:只允许22,80,443端口可以访问,其他端口全部无法访问,但是本机可以访问百度。
案例4:要求使用192.168.15.81能够通过22端口链接,但是其他的不行
# -t filter(指定表) -A INPUT(追加规则到链) -p TCP(指定协议)
# -d 192.168.15.81(指定目标地址) --dport 22(指定端口) -j ACCEPT(进行完此动作就不再操作其他规则,跳往下一个规则链)
'(只能别人链接81,但是81但是不能链接别人)'
iptables -t filter -A INPUT -p TCP -d 192.168.15.81 --dport 22 -j ACCEPT
# ... -j DROP(转发动作(对数据包不做处理,进行完此处理动作后,将不再对其他规则做操作,并中断过滤程序))
iptables -t filter -A INPUT -p TCP -j DROP
案例5:只允许192.168.15.71能够通过22端口链接,其他的不行。
# -t filter(指定表) -A INPUT(追加一条到链中) -p TCP(指定协议)
# -s 192.168.15.71((源地址)发送请求的地址)
# -d 192.168.15.81(目标地址(访问的端口) --dport 22(指定端口)
# -j ACCEPT(转发动作(进行完此动作就不再操作其他规则,跳往下一个规则链))
"只允许从71链接81,其他ip不允许链接,-s指定源地址=指定谁才能链接-d,-d为指定需要链接的目标"
iptabls -t filter -A INPUT -p TCP -s 192.168.15.71 -d 192.168.15.81 --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p TCP -j DROP
案例6:要求192.168.15.71对外部不可见
iptables -t filter -A INPUT -p TCP -d 192.168.15.71 -j DROP
案例7:要求使用eth0网卡的所有请求全部拒绝
# ... -i 进来的网卡即使用此网卡
iptables -t filter -A INPUT -p TCP -i eth0 -j DROP
使用172.16.1.71登录进来的窗口,不允许访问百度。
iptables -t filter -I OUTPUT -p TCP -o eth1 -j DROP
案例8:要求访问服务器的8080端口转发至80端口
# -t nat(nat负责网络地址转换) -A PREROUTING(转换目标地址) -p TCP(指定协议)
# --dport 8080(指定端口)
# -j REDIRECT(指定动作(将包重新导向另一个端口))
# --to-port 80(指定导向的端口是80)
iptables -t nat -A PREROUTING -p TCP --dport 8080 -j REDIRECT --to-port 80
[root@prometheus ~]# iptables -L -v -n -t nat
'默认表示filter, -t [表名称] 是指转换'
案例9:要求只允许windows通过ssh连接192.168.15.81,其他的拒绝
iptables -t filter -I INPUT -p TCP -s 192.168.15.1 -d 192.168.15.81 --dport 22 -j ACCEPT
iptables -t filter -I INPUT -p TCP --dport 22 -j DROP