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或iptables)允许"nat123"所需的端口通信。 - **网络限制**:部分ISP可能会限制端口映射,此时可能需要寻找其他方式,如使用虚拟服务器或第三方端口转发服务。 - ...
- **自动获取IP**:大多数情况下,插入以太网线后,Ubuntu会自动通过DHCP协议获取IP地址、子网掩码、网关和DNS。你可以在"网络设置"中确认连接状态。 - **手动配置IP**:如果需要静态IP,打开终端,输入`sudo nano...
在Ubuntu 22.04上安装vsftpd非常简单,可以通过命令行执行以下操作: ```shell sudo apt update sudo apt install vsftpd ``` 安装完成后,我们需要配置vsftpd以满足特定需求。默认情况下,vsftpd配置文件位于`/...
4. 安全强化:学习如何通过防火墙(ufw或iptables)保护服务器、配置SSH安全、安装和使用入侵检测系统(如Snort)以及安全审计。 5. 虚拟化技术:提及的"VMware Workstation 7 keygen.exe"可能是指使用虚拟机软件...
2. **配置防火墙规则**:确保防火墙允许 SSH 访问,可通过命令 `sudo ufw allow ssh` 来开放 SSH 端口。 3. **检查 SSH 配置文件**:使用文本编辑器打开 `/etc/ssh/sshd_config` 文件,确认配置项是否正确,如 `...
- **关闭防火墙**:使用命令`sudo ufw disable`关闭Ubuntu的防火墙。 - **修改配置文件**:编辑`/etc/ssh/sshd_config`文件,将`PermitRootLogin without-password`修改为`PermitRootLogin yes`,保存后重启虚拟机...
在Ubuntu中,可以通过命令`ufw disable`来关闭防火墙,确保Windows能够成功ping通Linux。 #### 三、安装Samba服务 对于Ubuntu 12.04系统,Samba服务通常已经预装,无需额外安装。但若需要更新或重新安装,可以执行...
根据实际需求,还可以配置FTP服务器支持SSL/TLS加密,设置被动模式以穿透NAT和防火墙,以及使用虚拟用户和群组进行更细粒度的权限控制。 总的来说,搭建和配置FTP服务器涉及网络协议、操作系统管理、用户权限和安全...
为 NAT 配置 ufw 配置dnsmasq(DHCP服务器、DNS服务器、TFTP服务器) 准备 PXE 启动文件 提取安装程序 如何使用 添加 Ubuntu 14.04 服务器 ISO(配置为:ubuntu-14.04.1-server-amd64.iso) 添加 ESXi 5.5 ISO...
- 在Windows中,通过网络地址`\\192.168.30.128`访问Ubuntu,使用刚创建的Samba用户登录,将JDK和Hadoop安装文件复制到Ubuntu中。 6. **安装JDK**: - 在`/home/zjp/mysoftware`目录下解压JDK安装文件,例如`tar ...
在Ubuntu中,可以使用`sudo ufw disable`命令暂时禁用防火墙。 在SecureCRT软件中,配置连接参数:Protocol选择SSH2,Port保持默认的22,HostName填写虚拟机的IP地址(如192.168.172.168),UserName填写Ubuntu的...
1. **NAT模式**:虚拟机通过宿主机的网络接口与外界通信,虚拟机的IP地址由虚拟网络设备自动分配,一般无需手动配置。这种方式简单且安全,但虚拟机对外部网络看起来像是同一个IP地址。 2. **桥接模式**:虚拟机...
NAT模式下,虚拟机通过VMware的网络适配器VMnet8与宿主机共享网络,虚拟机获得的IP地址与宿主机在同一网段,便于两者之间的通信。使用`ifconfig`命令,可以查看虚拟机内Ubuntu系统的IP地址,例如文中提到的192.168....
- NAT模式可以自动配置IP地址,并允许虚拟机访问互联网。 7. **I/O控制器**: - 选择SATA控制器。 - SATA是现代硬盘接口标准,性能较好。 8. **磁盘配置**: - 选择“创建一个新的虚拟磁盘”。 - 设置磁盘...
6. **pasv_enable**: 设为`YES`启用被动模式,这对于通过防火墙或NAT设置的连接很有用。 根据需求修改配置文件后,记得保存并重启vsftpd服务以应用更改: ```bash sudo systemctl restart vsftpd ``` ### 三、...
- `pasv_enable=YES`:启用被动模式,用于通过NAT和防火墙。 - `anonymous_root=/var/ftp`:设置匿名用户的根目录。 - `local_enable=YES`:允许本地用户登录。 - `write_enable=YES`:允许用户上传文件。 - `user_...
如果要使FTP服务器在互联网上可用,需要确保服务器的公网IP地址可访问,并在路由器上进行端口转发(如果有NAT环境)。 总结,搭建FTP服务器需要安装FTP服务软件,配置相关设置,创建用户,设定权限,并处理好防火墙...
为了能够通过SecureCRT连接到Linux虚拟机,首先需要确保虚拟机环境的正确搭建与配置。 ##### 1. 安装虚拟机 - **安装VirtualBox或VMware Workstation**:根据个人喜好或工作需求选择合适的虚拟化平台进行安装。 - *...
这可以通过配置如HAProxy或Kubernetes等工具来完成。 通过以上步骤,你已经成功手动部署了Jitsi Videobridge。记得定期更新源代码以获取最新的安全修复和功能改进。同时,了解Videobridge的性能调优和监控策略是...
1. **SSH服务器安装与配置**:这一步通常涉及在Linux系统(如Ubuntu、CentOS等)上安装OpenSSH服务器,然后进行必要的配置,例如设置监听端口、限制连接尝试次数、修改默认的SSH端口号等,以提高安全性。 2. **公钥...