在 CentOS 上使用 iptables 进行端口相关操作(开放、关闭、转发、查看等),下面给你最常用、最实用的做法。
iptables -L -n -v
查看 NAT 表(端口转发常用):
iptables -t nat -L -n -v
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
iptables -I INPUT -p udp --dport 53 -j ACCEPT
只允许 192.168.1.100 访问 22 端口:
iptables -I INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 3306 -j DROP
或拒绝(会返回拒绝信息):
iptables -I INPUT -p tcp --dport 3306 -j REJECT
echo 1 > /proc/sys/net/ipv4/ip_forward
永久生效:
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
iptables -t nat -A PREROUTING -p tcp --dport 8080 \
-j DNAT --to-destination 192.168.1.10:80
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 \
--dport 80 -j MASQUERADE
service iptables save
iptables-save > /etc/sysconfig/iptables
重启后恢复:
iptables-restore < /etc/sysconfig/iptables
CentOS 7 默认是 firewalld,不是 iptables:
查看:
systemctl status firewalld
如果你要用 iptables:
systemctl stop firewalld
systemctl disable firewalld
yum install iptables-services
systemctl enable iptables
systemctl start iptables
-I 插最前,-A 加最后)如果你告诉我:
我可以直接给你 可复制的完整命令。