Сервер Linux как маршрутизатор - проблема

Это сделало бы это:

grep '^hghgh' txt.txt

egrep — это просто grep -E (точно так же, как fgrep — это grep -F), но -E здесь не нужен, так как нам не нужно использовать расширенные регулярные выражения.

(Основное) регулярное выражение ^hghgh соответствует литеральной строке hghgh в начале строки. Это ^, который привязывает шаблон к началу строки.

Если вы хотите сопоставить exact строку hghgh в начале строки, а не, например. hghghaaaaaa (где hghgh — подстрока), затем используйте \> или \b или [[:>:] ] в конце выражения, чтобы соответствовать концу этого слова:

grep '^hghgh\>' txt.txt

Или используйте awk и выполните сравнение строк с первым полем:

awk '$1 == "hghgh"' txt.txt
0
17.01.2017, 05:21
2 ответа

Как отмечалось выше, мы могли бы добиться большего, если бы получили больше информации. Предлагаемое ниже решение предполагает, что iptables настроен для разрешения входящего / исходящего трафика. В любом случае, вам может не хватать двух вещей.

Вам необходимо явно разрешить пересылку трафика. Вам необходимо изменить / etc / sysctl.conf`, добавив следующую строку.

net.ipv4.ip_forward=1

Кроме того, вам необходимо замаскировать исходящий трафик. Маскарадинг перезаписывает исходящий IP-адрес всех пакетов на хост, имеющий дополнительный ник с NAT. Вы можете включить маскировку, как показано ниже. Следите за именем интерфейса NAT.

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Замените eth0 именем вашего интерфейса NAT.

Советы по устранению неполадок

  1. Отправьте эхо-запрос на адрес интерфейса хоста сервера Linux от клиента (ов). В случае успеха клиенты могут подключиться к шлюзу по умолчанию.
  2. Отправьте эхо-запрос на адрес nat-интерфейса сервера Linux от клиента (ов). Если успешно, брандмауэр iptables разрешает трафик ICMP. Если нет, вам нужно проверить конфигурацию брандмауэра iptables .
  3. После того, как вы закончите с описанными выше шагами, останется только исходящие правила и маскарад постмаршрутизации . Возможно, вам придется проверить это снова.
2
28.01.2020, 02:25

Ребята, вы были правы. Я пропустил маскарад POSTROUTING и форвард, как показано здесь ниже:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 
iptables -A FORWARD -i eth0 -j ACCEPT 
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
1
28.01.2020, 02:25

Теги

Похожие вопросы