Fedora中的Ubuntu /etc/network/if-pre-up.d/相当于什么(22)


1

我正在尝试从Ubuntu迁移到Fedora(22),但是在界面启动之前我找不到如何运行网络脚本。在Fedora中有/etc/network/if-pre-up.d/的等价物吗?

我需要在(任意)接口启动时触发脚本并捕获变量中的接口(以便我可以在其上执行macchanger)。最初我认为这可以通过systemd-networkd进行管理,但是当NetworkManager处于活动状态时似乎并非如此[1]

[0] https://help.ubuntu.com/community/AnonymizingNetworkMACAddresses

[1] https://superuser.com/a/948996/412798

Answers:


1

我已经运行了一些测试,唯一对我有用的方法是使用systemd单元:

vim /etc/systemd/system/macspoof@[your-interface].service

[Unit]
Description=macchanger on %I
Wants=network-pre.target
Before=network-pre.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
ExecStart=/usr/bin/macchanger -r %I
Type=oneshot

[Install]
WantedBy=multi-user.target

将权限更改为755

chmod 755 /etc/systemd/system/macspoof@[your-interface].service

然后启用该服务

systemctl enable macspoof@[your-interface].service

检查此链接以获取更多信息:MAC地址欺骗


抛出Failed to get properties: Access denied. 我认为vim /etc/systemd/system/macspoof@[your-interface].service是不正确的。它应该是/etc/systemd/system/macspoof@.service但它无论如何都不起作用。你确定你测试过这个吗?
安东尼·亨特

例如,我们的想法是使用您的界面名称macspoof@eth0.service。在我的情况下,我已经使用macspoof@wlp3s0.service它并且工作正常
nando 2015年

请注意,systemd服务文件不需要是可执行的(它们没有shebang,所以尝试执行它们无论如何都不会工作)。你可能不需要chmod它们,但是如果你这样做,将模式设置为644而不是755则更合适。
jbg

0

/etc/NetworkManager/dispatcher.d/pre-up.d/


我已经添加了macchanger脚本/etc/NetworkManager/dispatcher.d/pre-up.d/和chmod + x,但mac没有改变
Anthony Hunt

0

似乎脚本必须放在networkmanager调度程序中。路径可以是“/usr/local/etc/NetworkManager/dispatcher.d/pre-up.d/macchanger”或“/etc/NetworkManager/dispatcher.d/pre-up.d/macchanger”。与Ubuntu教程相比,您必须使用第一个参数($ 1)而不是$ IFACE。

#!/bin/bash
ip link set dev $1 down
macchanger -e "$1"
ip link set dev $1 up
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.