iptables相关操作

2019-11-22 14:34:00 浏览数 (1)

显示规则

代码语言:javascript复制
iptables -L
iptables -t nat -L # 显示转发规则

设置端口白名单

代码语言:javascript复制
# 允许22,80,443 端口访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许内网
iptables -A INPUT -s 127.0.0.1/24 -j ACCEPT
# 允许容器网段
iptables -A INPUT -s 172.17.0.0/24 -j ACCEPT

# OUTPUT默认为允许所有
iptables -P OUTPUT ACCEPT
# INPUT默认为丢弃
iptables -P INPUT DROP

阻止一个端口访问

代码语言:javascript复制
iptables -A INPUT -p tcp --dport 4003 -j DROP

# 阻止容器的转发,添加规则到FORWARD表中
iptables -I FORWARD -p tcp --dport 8000 -j DROP

允许一个ip/mac访问

代码语言:javascript复制
# 端口 ip白名单
iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT

# IP白名单
iptables -A INPUT -s 172.17.0.0/24 -j ACCEPT

# mac白名单
iptables -I INPUT 1 -p tcp --destination-port 4003 -m mac --mac-source 52:54:ff:00:03:03 -j ACCEPT

删除规则

代码语言:javascript复制
iptables -D  INPUT  -p tcp --dport 4003 -j DROP
# del nat
iptables -t nat -D POSTROUTING 8

修改规则

代码语言:javascript复制
iptables -R DOCKER 5 -p tcp -s 127.0.0.1 --destination 172.17.0.6 --dport 27017 -j ACCEPT

端口转发(直连虚拟机)

代码语言:javascript复制
iptables -A INPUT -p tcp --dport 8022 -j ACCEPT
iptables -A INPUT -p udp --dport 8022 -j ACCEPT

iptables -t nat -I PREROUTING -d 10.67.54.227 -p tcp -m tcp --dport 8022 -j DNAT --to-destination 192.168.122.75:22

## iptables -t nat -I POSTROUTING -d 192.168.122.75 -p tcp --dport 22 -j SNAT --to 10.67.54.227

iptables -I FORWARD -m state -d 192.168.122.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT

0 人点赞