在我的另一个线程中,我正在谈论有关iptables 策略和状态的一些有趣的事情,现在我想更多地了解 DHCP 的工作原理以及 iptables 如何理解它。
ETH0 连接到我的主交换机,它从我的路由器接收动态 ip,不仅可以访问互联网,还可以访问我的外部网络。
ETH1 是连接到内部交换机的内部卡,X 客户端从该服务器接收其 IPS
ETH1 网络为 192.168.1.0/255.255.255.0,其中服务器 IP 为 192.168.1.254。
据我了解,dhcp 是一个 bootp 协议,因此即使您的防火墙策略可以删除所有内容,您的网络仍会收到 DHCP,在我进行的测试中,这似乎是正确的。
来自 tcpdump:
root@test:~# tcpdump -i eth1 port 67 or 68
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
11:34:03.943928 IP 192.168.1.2.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:0c:29:29:52:8b (oui Unknown), length 303
11:34:03.957647 IP 192.168.1.254.bootps > 192.168.1.2.bootpc: BOOTP/DHCP, Reply, length 300 …
Run Code Online (Sandbox Code Playgroud) 我最近开始玩 VM,发现创建 VM 时有 2 个选项,我可以使用虚拟磁盘或物理磁盘。
我相信使用物理磁盘会更快更好,我想确认这是否属实?
我想知道的另一件事是,如果 VMWare 会为我做,我是否必须自己制作分区?
例如,如果我有一个 500GB 的磁盘,其中有 400 个被主机操作系统使用,所以我有 100 个备用大小,它会让我重新分区这 100 个,或者它会要求整个 100 个或让我指向一个已经创建的分区用过的 ?
我终于设法安装了我的 VM 主机,现在我正在使用 iptables 来创建、测试和学习。
我将以下规则放在规则的开头还是结尾有关系吗?
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
Run Code Online (Sandbox Code Playgroud)
我已经测试过,没有区别,但我想确认一下。
到目前为止我选择的答案: 尽早应用您的政策是个好主意。把它们放在开头。内部流量的 DROP 规则可能会导致问题。
具有以下规则将被视为防火墙故障?
$IPT -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
如果没有这个规则,我需要为我的 ssh 连接添加一个 OUTPUT 规则,例如:
$IPT -A OUTPUT -p tcp --sport 2013 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
答:
经过更多测试并与#iptables@freenode 上的人交谈后,我得出的结论是,使用-m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
INPUT 和 OUPUT 是一个很好的方法,可以帮助您处理很多事情,例如 FTP,这是一个很好的方法,因为除非您打开该给定端口并被接受,否则不会有恶意连接。
这是一个不使用上述内容的正常示例:
$IPT -A INPUT -p tcp --dport 20:21 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 20:21 -j ACCEPT …
Run Code Online (Sandbox Code Playgroud)