ufw是ubuntu下默认自带的一个超级好用的防火墙.有了它以后,你可以轻松配置出来很强悍的防火墙,而不用再记复杂的iptables语法(当然了它只是个简化命令,底层依然是调用的iptables.).它的语法虽然简单易用,但是笔者在用它配置nat映射的时候,却发现没有相关的语法.网上搜索竟也没有相关的中文资料.对比官方文档,几经摸索终于弄明白了ufw怎么配置nat不敢独享,特记录如下:
1.修改ufw文件,允许接收转发的包
vi /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
2.修改sysctl.conf启用内核转发(取消注释)
vi /etc/ufw/sysctl.conf
net/ipv4/ip_forward=1
3.修改before.rules,添加相应的nat配置,直接添加到文件末尾的COMMIT下面就可以了.
vi /etc/ufw/before.rules
*nat
:PREROUTING - [0:0]
:POSTROUTING - [0:0]
-A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.100:22
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
COMMIT
这个地方要注意的就是必需同时添加PREROUTING和POSTROUTING.这也是通过ufw配置nat时的难点所在!笔者很长一段时间都浪费在反复修改PREROUTING上.后来仔细一想,有进来的包也必需有出去的包nat才能成行吧,于是试着添加POSTROUTING,结果就通了!这个地方还有一点应该就是rules文件的语法吧.
*nat
:PREROUTING - [0:0]
:POSTROUTING - [0:0]
#这个地方加自定义语句
COMMIT
之前也是很长一段时间,都在原有的COMMIT里加东西,测试,也是浪费了挺长的时间才看明白,语法.
4.重启ufw
ufw disable&&ufw enable or ufw reload
顺路提醒一下,如果是远程连接进去配置ufw会提示:
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
所以如果你之前没有允许ssh的连接,不建议远程调整防火墙的(把自己拦外面了,可没人管哟~).
5.查看nat映射(还是用的iptables,ufw里看不到)
root@localhost:/etc/ufw# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:22 to:192.168.1.100:22
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- localhost/24 anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
这里要注意的地方就是手动添加的nat,在重启ufw时,不会自动清理掉,所以每次重启ufw前,你会要手动清除nat映射:iptables -F -t nat.
root@localhost:/etc/ufw# ufw disable
Firewall stopped and disabled on system startup
root@localhost:/etc/ufw# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
root@localhost:/etc/ufw# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:22 to:192.168.1.100:22
DNAT tcp -- anywhere anywhere tcp dpt:22 to:192.168.1.100:22
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- localhost/24 anywhere
MASQUERADE all -- localhost/24 anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
分享到:
相关推荐
在Ubuntu中用UFW配置防火墙.docx
Ubuntu使用ufw或iptables配置防火墙.docx
Ubuntu ufw防火墙规则顺序问题.docx
ufw防火墙(ubuntu)
python版本问题导致的Ubuntu的防火墙ufw无法使用,将该包添加入系统目前版本的python lib中即可解决问题。
ufw命令 – 管理netfilter...Linux原始的防火墙工具iptables由于过于繁琐,所以ubuntu系统默认提供了一个基于iptables之上的防火墙工具ufw。而UFW支持图形界面操作,只需在命令行运行ufw命令即能看到一系列的操作。
Ubuntu防火墙-the Uncomplicated Firewall(ufw).docx
。。。
。。。
玩转ubuntu系统之打造ubuntu超赞图形界面(测试环境ubuntu12.04) ↓
乌班图防火墙
Ansible-ansible-ufw.zip,负责在类debian系统中设置ufw,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
我们来研究下 Linux 上的 ufw(简单防火墙),为你更改防火墙提供一些见解和命令。 ufw(简单防火墙Uncomplicated FireWall)真正地简化了 iptables,它从出现的这几年,已经成为 Ubuntu 和 Debian 等系统上的默认...
这与Ubuntu / Debian的ufw防火墙管理器发生冲突,并使其变得无用。 (换句话说,在Centos / Redhat / Fedora的firewalld )。ufw不知道他们的秘密谈话,只做他所知道的。 这在UFW和Docker防火墙问题上造成了很大的...
为 NAT 配置 ufw 配置dnsmasq(DHCP服务器、DNS服务器、TFTP服务器) 准备 PXE 启动文件 提取安装程序 如何使用 添加 Ubuntu 14.04 服务器 ISO(配置为:ubuntu-14.04.1-server-amd64.iso) 添加 ESXi 5.5 ISO...
第1篇 拥抱UbuntuServer 第1章 敲开Linux Server的大门 2 1.1 Linux到底是什么 2 1.2 为何选Linux,不选 1.2 Windows 3 1.2.1 Linux可以定制 4 1.2.2 Linux比Windows稳定 4 1.2.3 Linux比Windows响应快 4 ...
同事从海外远程连接国内某云上的一台机器3389端口,发现因为运营商路由原因非常慢,找运营商修改路由又非常麻烦。...主要目的就是通过配置跳板机的防火墙转发规则,使得访问1.1.1.1:21521的流量自动转发到2.2.2
ufw-stats 显示自启动以来的操作,以及RIPE数据库中的IP地址信息。 防火墙操作源自journalctl 。 用法: :play_button: ufw-stats --help Usage: ufw-stats [OPTION]... Show ufw actions since boot, with ip ...
一、前言 在日常网络服务器的维护和使用过程中,ping命令是最为常用的一个检测命令,它所使用的是ICMP协议。但是为了保护主机,很多...方法1 通过sys配置禁止ping echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all