方法一
1. 查看本地端口开启情况
➜ ~ sudo ufw status
状态: 激活
至 动作 来自
- -- --
80 ALLOW Anywhere
8001 ALLOW Anywhere
80 (v6) ALLOW Anywhere (v6)
8001 (v6) ALLOW Anywhere (v6)
开启防火墙的状态下,只有系统允许的端口才能被其他主机访问。
2. 关闭防火墙
➜ ~ sudo ufw disable
防火墙在系统启动时自动禁用
➜ ~ sudo ufw status
状态:不活动
3. 开启防火墙,允许访问特定端口
➜ ~ sudo ufw enable
在系统启动时启用和激活防火墙
➜ ~ sudo ufw allow 81
规则已添加
规则已添加 (v6)
➜ ~ sudo ufw status
状态: 激活
至 动作 来自
- -- --
80 ALLOW Anywhere
8001 ALLOW Anywhere
81 ALLOW Anywhere
80 (v6) ALLOW Anywhere (v6)
8001 (v6) ALLOW Anywhere (v6)
81 (v6) ALLOW Anywhere (v6)
4. 不允许访问特定端口
➜ ~ sudo ufw deny 81
规则已更新
规则已更新 (v6)
➜ ~ sudo ufw status
状态: 激活
至 动作 来自
- -- --
80 ALLOW Anywhere
8001 ALLOW Anywhere
81 DENY Anywhere
80 (v6) ALLOW Anywhere (v6)
8001 (v6) ALLOW Anywhere (v6)
81 (v6) DENY Anywhere (v6)
方法二
1.打开某个特定的端口号
iptables -A INPUT -p tcp --dport 11443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 11443 -j ACCEPT
再使用 iptables -L -n | grep 11443
,查看是否添加上去
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:11443
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:11443
2.禁用某个IP访问
iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
iptables:unrecognized service 解决方法
在ubuntu中由于不存在 /etc/init.d/iptales
文件,所以无法使用service
等命令来启动iptables
,需要用modprobe
命令。
启动iptables
modprobe ip_tables
关闭iptables
(关闭命令要比启动复杂)
iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
modprobe -r ip_tables
依次执行以上命令即可关闭iptables
,否则在执行modproble -r ip_tables
时将会提示