Я блокирую каждое значение по умолчанию порта ufw
и добавьте правила iptables как это:
sudo iptables -A INPUT -p tcp --dport 1723 -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT
затем я перечисляю ВХОДНЫЕ правила iptables:
sudo iptables -L INPUT --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT udp -- anywhere anywhere udp dpt:domain
2 ACCEPT tcp -- anywhere anywhere tcp dpt:domain
3 ACCEPT udp -- anywhere anywhere udp dpt:bootps
4 ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
5 ufw-before-logging-input all -- anywhere anywhere
6 ufw-before-input all -- anywhere anywhere
7 ufw-after-input all -- anywhere anywhere
8 ufw-after-logging-input all -- anywhere anywhere
9 ufw-reject-input all -- anywhere anywhere
10 ufw-track-input all -- anywhere anywhere
11 ACCEPT tcp -- anywhere anywhere tcp dpt:1723 MAC 00:11:22:33:44:55
но я не могу посетить свой server:1723
Есть ли sth неправильно?
Я использую Ubuntu 11.10
Edit01:
Я добавляю сопровождаемые вещи:
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
# End required lines
-A ufw-before-input -p tcp --dport 1723 -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT
и затем я перечисляю правила
sudo iptables -L ufw-before-input --line-numbers
Chain ufw-before-input (1 references)
num target prot opt source destination
1 ACCEPT tcp -- anywhere anywhere tcp dpt:1723 MAC 00:11:22:33:44:55
2 ACCEPT all -- anywhere anywhere
3 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
4 ufw-logging-deny all -- anywhere anywhere state INVALID
5 DROP all -- anywhere anywhere state INVALID
6 ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
7 ACCEPT icmp -- anywhere anywhere icmp source-quench
8 ACCEPT icmp -- anywhere anywhere icmp time-exceeded
9 ACCEPT icmp -- anywhere anywhere icmp parameter-problem
10 ACCEPT icmp -- anywhere anywhere icmp echo-request
11 ACCEPT udp -- anywhere anywhere udp spt:bootps dpt:bootpc
12 ufw-not-local all -- anywhere anywhere
13 ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns
14 ACCEPT udp -- anywhere 239.255.255.250 udp dpt:1900
15 ufw-user-input all -- anywhere anywhere
и все еще работа..., конечно, после sudo service ufw restart
Я все еще подключаю сервер на 1723
Обе машины находятся в одной подсети Ethernet? MAC-адреса являются только локальными для подсети. Если между ними есть маршрутизатор, сервер увидит mac-адрес последнего маршрутизатора, который пересекает пакет.
Кроме того, iptables -v -L
удобен для отладки, так как вы можете видеть, какие правила запускаются.
Правило 9 в вашей цепочке INPUT
переходит на ufw-reject-input
, что, в свою очередь, отклоняет пакет.
Если вы хотите, чтобы ваши дополнения работали с ufw
, я предлагаю прочитать документацию, показанную man ufw-framework
.
Вероятно, вы можете достичь желаемого, создав файл /etc/ufw/before.rules
с содержимым, например:
*filter
-A ufw-before-input -p tcp --dport 1723 -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT