通过iptabls的方式,控制指定ip可以访问

1. 查看所有iptables

iptables -L -n

2.设置指定ip可以访问某个端口

iptables -I INPUT -p tcp --dport 80 -j DROP
iptables -I INPUT -s 127.0.0.1  -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 127.2.2.4 -p tcp --dport 80 -j ACCEPT

iptables -I INPUT -p tcp --dport 8003 -j DROP
iptables -I INPUT -s 127.0.0.1  -p tcp --dport 8003 -j ACCEPT
iptables -I INPUT -s 127.2.2.4 -p tcp --dport 8003 -j ACCEPT

iptables -I INPUT -p tcp --dport 23306 -j DROP
iptables -I INPUT -s 127.0.0.1  -p tcp --dport 23306 -j ACCEPT
iptables -I INPUT -s 127.2.2.4 -p tcp --dport 23306 -j ACCEPT

iptables -I INPUT -p tcp --dport 82 -j DROP
iptables -I INPUT -s 127.0.0.1  -p tcp --dport 82 -j ACCEPT
iptables -I INPUT -s 127.2.2.4 -p tcp --dport 82 -j ACCEPT

3. 清除所有iptables

关闭iptables
iptables -P INPUT ACCEPT       (先把默认策略改为ACCEPT)
然后执行
iptables -F 

4.清空所有的iptables

## anan
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# flush all chains
iptables -t nat -F
iptables -t mangle -F
iptables -t raw -F
iptables -F
# delete all chains
iptables -t nat -X
iptables -t mangle -X
iptables -t raw -X
iptables -X


iptables -t nat -nvL 
iptables -t mangle -nvL 
iptables -t raw -nvL 
iptables -nvL 


iptables -t nat -nvL  --line-numbers
iptables -t mangle -nvL  --line-numbers
iptables -t raw -nvL  --line-numbers
iptables -nvL --line-numbers

5. 自动化脚本实现iptables允许指定mac访问

进入root目录,然后创建allow_mac文件,里边放入允许访问的mac地址,每个地址独占一行。

然后创建rc.sh。内容如下。sh rc.sh.

这种方法最终没有生效,很是奇怪

#!/bin/bash
iptables=/sbin/iptables
#Flush chains
$iptables -F
#Change the INPUT chains
$iptables -A INPUT -m state --state INVALID -j DROP
$iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#Read allowed mac from file /root/allow_mac
for i in $(grep -v '^#' /root/allow_mac)
do
    $iptables -A INPUT -m mac --mac-source $i -j ACCEPT
done
#Change the INPUT chain's default Policy to DROP
$iptables -P INPUT DROP

更多推荐

linux允许指定ip访问